日期:2014-05-18  浏览次数:20797 次

可访问性不一致
类型:
 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,才能正确编译