0

我以前可以在 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 并且无法设置。

任何想法?我只想根据属性使项目可见或不可见。

4

1 回答 1

0

我最终通过创建自定义属性并将该属性设置为 true 或 false 来解决问题。并将该自定义属性分配给 propertygird.BrowsableAttribute

于 2020-05-03T13:47:40.360 回答