非常によく似ていて、他の型にキャストできる一連のクラスを作成したいと考えています。私の考えは、Interface オブジェクトを作成し、基本クラスを介して実装するというものでした。次に、ベースから継承する追加のクラスを作成します。その後、Interface を使用して共通 (基本) メソッドを操作し、オブジェクトを BASE オブジェクトからカスタム型にキャストできます。
interface ImyInterface {
}
public class MyBase : ImyInterface {
}
public class MyCustom1 : MyBase {
}
public class MyCustom2 : MyBase {
}
// in helper class
public static MyBase GetGeneralOjbect() {
// get a generic base object
return new MyBase();
}
// How I'm trying to use this
MyCustom1 obj = GetGeneralOjbect() as MyCustom1;
これは、オブジェクトステートメントのキャストを除いて機能するようです。静的ヘルパー GetGeneralOjbect が適切な MyBase オブジェクトを返す場合でも、MyCustom1 は常に null です。多分これはできないか、正しくやっていない。任意の入力をいただければ幸いです。