私は、この2つのインスタンスの型 "FirstType"と "SecondType"を母クラス "ContaBancaria"から継承しています。彼らは両方とも異なるテキストボックスからテキストを返します。基本的には同じことですが、2つの異なるリストタイプに対して2つのインスタンスが必要です(私の質問とは関係ないと思われますので、詳細には進まないでください)単一のメソッドを使用して異なるインスタンスの型を返す
private FirstType AddTypeFirst()
{
return new FirstType(textBoxNumber.Text,
textBoxBalance.Text,
textBoxName.Text,
textBoxAddress.Text,
textBoxBirth.Text);
}
private SecondType AddTypeSecond()
{
return new SecondType(textBoxNumber.Text,
textBoxBalance.Text,
textBoxName.Text,
textBoxAddress.Text,
textBoxBirth.Text);
}
同じ2つのインスタンスを同じメソッドタイプで返す方法はありますか?
EDIT: 私は何を意味することは、たとえば、1つの方法でインスタンスのこれらの2つの異なる型を返すことだった:
private [type?] AddInstance()
{
return new [type*] textBoxNumber.Text, //* the type could be FirstType or SecondType
textBoxBalance.Text,
textBoxName.Text,
textBoxAddress.Text,
textBoxBirth.Text);
}
はEDIT 2:
ContaBancaria次のようになります。
abstract class ContaBancaria
{
public string number { get; set; }
public string balance { get; set; }
public Client data { get; set; }
}
そして、クライアントがありますので、...
class Client
{
public string name;
public string address;
public string birth;
}
あなたは私を得ることを願っています。
public static class Ext {
public static void AddInstancia<T>(this List<T> aList) where T : class {
if (typeof(T) == typeof(FirstType))
aList.Add(AddTypeFirst() as T);
else
aList.Add(AddTypeSecond() as T);
}
}
私は何を参照してください:あなたがあなた自身の一般的な追加機能を書き、種類を把握するためにリフレクションを使用する必要があります、あなたがに追加されたリストに基づいて、適切な型を返すようにしたいと仮定しない
によると、良いアイデアであることを納得していないよ、多分あなたの質問を編集してみては? – maccettura
私はアイデアを持っていませんあなたがやろうとしていること..もし私が推測しなければならないのは、ジェネリッククラスを使用したいということです – MethodMan
私は質問を編集しました。 – ckvywk