1. 程式人生 > WINDOWS開發 >c#出現可訪問性不一致的情況

c#出現可訪問性不一致的情況

原因:當出現可訪問性不一致時,說明其中一個方法是返回引數的訪問級別小於函式的訪問級別。當你在一個訪問性比較強(例如公共)的欄位/屬性/方法裡使用自定義型別,而這個型別訪問性比較低(例如保護/私有)的時候就發生這個問題了

解決方法:返回型別和方法的形參表中引用的各個型別必須至少具有和方法本身相同的可訪問性

例如:

public class ClassA {

private class SubclassB{
...
}

public SubclassB InstanceOfB;
}

這樣的話就發生訪問性不一致的錯誤了,當別人使用ClassA的時候,InstanceOfB

欄位因為是public的,所以應該可用,但是它的型別,SubclassB,卻沒有公開,導致衝突。

解決的方式就是在你定義的型別前面加上public提高它的訪問度

來自部落格:https://www.cnblogs.com/hailexuexi/archive/2010/11/02/1866959.html