【发布时间】:2020-05-02 17:04:33
【问题描述】:
我以前可以在 Net472 中执行此操作,但当我尝试在 Netcoreapp3.1 中执行此操作时遇到错误
enter code here
BrowsableAttribute theDescriptorBrowsableAttribute = (BrowsableAttribute)theDescriptor.Attributes[typeof(BrowsableAttribute)];
FieldInfo browsablility = theDescriptorBrowsableAttribute.GetType().GetField("Browsable", BindingFlags.IgnoreCase | BindingFlags.NonPublic | BindingFlags.Instance);
// Set the Descriptor's "Browsable" Attribute
browsablility.SetValue(theDescriptorBrowsableAttribute, isBrowsable);
browsablility 返回 null。它现在似乎是 OnInitOnly 并且无法设置。
有什么想法吗?我只想根据属性使项目可见或不可见。
【问题讨论】:
-
您的代码依赖于一个名为“browsable”的私有字段,该字段可能已经消失。你为什么不直接使用
BrowsableAttribute.Browsable公共财产? -
可浏览是只读的,不能更改。
标签: propertygrid netcoreapp3.1