C♯相談室 Part26
■ このスレッドは過去ログ倉庫に格納されています
0702デフォルトの名無しさん
2005/10/27(木) 14:12:59class A {}
class B {}
public void Main() {
A a = new A();
B ba = (B)(object)a; // InvalidCastException
B bb = (B)a; // cs0030
}
要するにこういう事だけど?
継承元への変換:暗黙のキャスト
継承先への変換:明示的キャスト
継承関係にない:変換演算子のオーバーロードを定義する必要がある
KがBaseか何かで制約されていない限り、Kは継承関係にない型と解釈するのが自然だろう。
■ このスレッドは過去ログ倉庫に格納されています