はここで状況のパラメータ制限します。私は、クラスと派生クラスはメソッドとして、派生クラスのインスタンスを渡すと
public class MyClass
{ }
public class MyDerivedClass : MyClass
{ }
を有し、また、私は、パラメータとしてMyClass
のインスタンスを取ります(外部クラスの)メソッドがあります:私はDoSomething
方法を制限することができますどのように
public class AnotherClass {
public void DoSomething(MyClass myClass)
{ }
}
をMyClass
のインスタンスのみを受け入れますが、インスタンスはMyDerivedClass
ではありませんか?
は、なぜあなたはそれをしたいと思うことができますか? – Philippe
できません。あなたは、実行時に型をチェックし、例外をスローしますが、コンパイラは、あなたが求める何 – pinkfloydx33
を防ぐことができ、何もオブジェクト指向プログラミングに対してではありません、*** MyDerivedClass ** MyClassの*** ISことができます。それは「私は車を望んでいないが、私はフェラーリがほしい」と同じです。 – Esko