1
PersonからAddressなどの異なるオブジェクトを単一のメソッド呼び出しでファイルからロードしようとしています。私は何とかメソッド呼び出しで戻り値の型を提供し、同じオブジェクトがメソッドによって返されることを期待できるはずです。単一のメソッド呼び出しで別の戻り値型オブジェクトを指定する
例:
var myAbstractClass = new MyAbstractClass() Person person = myAbstractClass.Load(source) -- Expecting to return Person Address addr = myAbstractClass.Load(source) -- Same call but this time expecting to return Address
現在の負荷()メソッドは、異なるオブジェクトをロードしますが、私は、要求に一致する戻り値の型を把握するために苦労しています。これがジェネリックスを使用して達成できるものかどうかを知りたいですか?
ここで参照のためのコードの抜粋です:可能な解決策の
public abstract class DataLoader
{
public abstract void Load(Source dataSoure);
}
public class AddressLoader : DataLoader
{
public override void Load(Source dataSoure)
{
//Load Address
}
}
public class PersonLoader : DataLoader
{
public override void Load(Source dataSoure)
{
//Load Person
}
}