2

このクラス階層があるとします:

public abstract class Base {};
public class Child1 : Base {};
public class Child2 : Base {};

ある時点で、継承されたクラスの 1 つを保持しIsolatedStorageSettings.ApplicationSettings、それを として戻しますobjectChild1またはChild2、実行時に正しい型に型キャストするかどうかを調べるにはどうすればよいですか?

4

2 に答える 2

2

ただ使えないの?

if(myobject is Child1)
    var child1 = (Child1)myobject;
else if (myobject is Child2)
    ....
于 2012-12-26T14:00:01.727 に答える
2

as最も簡単な方法は、キーワードを使用してキャストし、結果を確認することです。

Base child;
child = mysteryObject as Child1;
if(child == null)
{
    // mysteryObject is Child2
    child = mysteryObject as Child2;
}
else
{
    // mysteryObject is Child1
}

is代わりにキーワードを使用することもできます。

于 2012-12-26T14:00:48.693 に答える