我以前可以在 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 并且无法设置。
任何想法?我只想根据属性使项目可见或不可见。