這裏的情況。我有一個類和派生類限制傳遞派生類的實例作爲方法參數
public class MyClass
{ }
public class MyDerivedClass : MyClass
{ }
同時,我有一種方法(在外部類),它利用了MyClass
一個實例作爲參數:
public class AnotherClass {
public void DoSomething(MyClass myClass)
{ }
}
我怎樣才能限制DoSomething
方法僅接受MyClass
的實例,但不接受MyDerivedClass
的實例?
你爲什麼要這麼做? – Philippe
你不能。您可以在運行時檢查類型和拋出一個異常,但沒有編譯器可以防止 – pinkfloydx33
是對面向對象的編程什麼你問,*** MyDerivedClass ** ** IS MyClass的***。這就像「我不想要一輛車,但我想要一輛法拉利!」 – Esko