說我有一個基類是這樣的:你如何讓成員無法進入子派生類?
public abstract class MyBaseClass
{
protected void MyMethod(string myVariable)
{
//...
}
}
然後我繼承這個類在單獨的程序:
public abstract class MyDerivedClass : MyBaseClass
{
static readonly string MyConstantString = "Hello";
protected void MyMethod()
{
MyMethod(MyConstantString);
}
}
我現在要確保從MyDerivedClass
繼承任何其他類完成無法訪問MyBaseClass.MyMethod()
方法。 (爲了澄清,我仍然希望能夠調用MyDerivedClass.MyMethod()
沒有參數)
我試過使用protected internal
但沒有奏效。
更新:我試圖做到這一點,因爲我正在處理的應用程序有一堆使用基類的單獨程序。有5種不同的「類型」的程序,每個都執行一個特定的,獨立的功能,但它們都有一些我想要抽象到這個基類中的通用代碼。通用代碼是99%相同的,只是略有不同,這取決於程序調用它的類型。這就是爲什麼我有我的基類在示例中採用字符串參數,然後消失在派生的基類中,因爲該類知道它執行角色x,因此它會相應地告知其基類。
你的意思是說你不希望他們叫它,或者你不希望它們覆蓋它嗎? –
@MthetheWWatson兩者。 – Logan
你無法阻止它被調用。 –