私はタイプキャストに関する基本的な質問があります。C#の型キャストはここで発生しますか?
class A { }
class B : A { }
B b = new B();
A a = (A)b;
タイプキャスティングが発生するかどうかは?
interface IA
{
void process();
}
class B : IA
{
#region IA Members
void IA.process()
{
throw new NotImplementedException();
}
#endregion
public void process() { }
}
B b = new B();
b.process();
((IA)b).process();
タイプキャスティングが発生するかどうかは?
Thanx Aditya、コンパイラがILに適切な型キャスティングコードを生成するかどうかを簡単に教えてください。 – LokiDil
ダウンキャスティングでは、参照のみが新しい変数に格納されます。しかしアップキャスティングのために、クラスキャスト命令が生成される。また、第2の場合、生成される命令は、任意のキャスト命令の代わりにIA.processを直接呼び出すことである。 – Aditya
私が明確に理解できるようにするThanx Aditya – LokiDil