2008-12-21 63 views

回答

6

不,除非類型(帶有受保護的成員)本身就是內部的。內部類型不能成爲公共/受保護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 { } 
1

若包含保護類方法是外部可見的。這是因爲一些外部類可能來自該類,並需要知道參數的類型。