可访问性不一致
类型:
private enum FlatStyles
{
officeXP,
office2003,
}
属性:
public FlatStyles FlatComboStyle
{
get
{
return flatComboBoxStyles;
}
set
{
flatComboBoxStyles = value;
// this.Refresh();
}
}
编译的时候出现:
错误 1 可访问性不一致: 属性类型“XXXControls.XXXCombBox.FlatStyles”比属性“XXXControls.XXXCombBox.FlatComboStyle”的可访问性低
------解决方案--------------------private enum FlatStyles改为public enum FlatStyles
------解决方案--------------------在这种情况下,你必须将FlatStyles的enum的访问描述符改为“public”。
为什么?
因为你的FlatComboStyle的返回值是一个FlatStyles类型的enum。假如我在另一个程序集中调用你的FlatComboStyle属性,那么问题来了:我没办法获得这个属性的值,因为这个属性所返回的类型我根本就找不到(因为它是private的,我访问不到)。
因此你必须改为public,才能正确编译