3
如果我有一個受保護的方法,我可以傳入一個參數,其中的數據類型聲明爲內部?內部方法和數據結構。
如果我有一個受保護的方法,我可以傳入一個參數,其中的數據類型聲明爲內部?內部方法和數據結構。
不,除非類型(帶有受保護的成員)本身就是內部的。內部類型不能成爲公共/受保護API的一部分,因爲消費者無法使用它。
你可以,但是,可以考慮使用一個公共接口抽象類型 - 即
public interface IFoo {}
internal class Foo : IFoo {}
public class Bar {
protected void Test(IFoo foo) {}
}
泛型可以爲這個太有用了:
protected void Test<T>(T foo) where T : IFoo { }
若包含保護類方法是外部可見的。這是因爲一些外部類可能來自該類,並需要知道參數的類型。