によってクラスを返します私はいくつかの派生クラスで抽象クラスを持つ文字列値
public abstract class MyObject
{
public string name { get; set; }
public bool IsObject(string pattern);
...
}
public class MyObjectA : MyObject
{
public string name { get { return "MyObjectA"; } set; }
public bool IsObject(string pattern) { ... }
...
}
public class MyObjectB: MyObject
{
public string name { get { return "MyObjectB"; } set; }
public bool IsObject(string pattern) { ... }
...
}
今、私は、文字列に基づいて(MyObjectA/MyObectB)私の特定のクラスを返す関数を、持っていると思います。問題は、それを得るためにif/else節がたくさんあることです。
これはちょっとひどいです。これを行うより良い方法は何でしょうか?
+1グッドコール。明示的に 'set'を削除することも有効です。 –
これは単なる例です。名前の文字列はクラスの名前と正確には一致しません。しかし、私はそれをそれに変換することができます。 – Link