Tag: properties

IL中的属性getter / setter的方法命名是否标准化?

我有以下两种方法,我想知道它们是否合适: public bool IsGetter(MethodInfo method) { return method.IsSpecialName && method.Name.StartsWith(“get_”, StringComparison.Ordinal); } public bool IsSetter(MethodInfo method) { return method.IsSpecialName && method.Name.StartsWith(“set_”, StringComparison.Ordinal); } 虽然这段代码有效,但我希望避免检查StartsWith并以编程方式获取命名约定的部分。 基本上,是否有任何.NET 4.5类能够看到MethodInfo是属性getter / setter?

老实说,公共变量和公共财产访问者之间有什么区别?

可能重复: C#中的字段和属性有什么区别? 我应该使用公共属性和私有字段或公共字段来获取数据吗? 有什么区别: public string varA; 和 public string varA { get; set; }

使属性在DataGridView中可见但在PropertyGrid中不可见?

假设我有一个我希望在DataGridView中显示的属性,但是当PropertyGrid中显示相同的对象时却没有。 我知道我可以使用[Browsable(false)] ,但是它隐藏在两个视图中。 我也可以做一个gridView.Columns[“blah”].Visible = false; ,但这与我想要的相反,因为它隐藏在DataGridView中而不是隐藏在PropertyGrid中。 有没有办法反过来? (没有创建一个全新的DataTable只是为了保持相同的数据减去一个字段,而是将所有内容重新绑定到那个 – 这真的是一种做事的kludge方式。)或者,我可以使用一个向DataGridView添加列的解决方案在实际课程中没有出现。

DefaultValue属性不适用于我的自动属性

我有以下自动属性 [DefaultValue(true)] public bool RetrieveAllInfo { get; set; } 当我尝试在代码中使用它时我发现默认的false为false我认为这是bool变量的默认值,有没有人知道什么是错的!?

如何实现虚拟静态属性?

据我所知, C#不支持虚拟静态属性。 如何在C#实现这样的行为? 我想归档基类的所有派生类必须覆盖静态属性。 获取派生类型,我想访问名为Identifier的静态属性 Type t = typeof(DerivedClass); var identifier= (String) t.GetProperty(“Identifier”, BindingFlags.Static).GetValue(null, null);