私はC#で初心者です。私はGenericクラスを作成しようとしています。私は3つのクラスとメイン/ジェネリッククラスを持っています。アクセス方法ジェネリッククラスのジェネリックメンバーのプロパティ
三つのクラス
public class A
{
public string Name { get; set; }
public string Address { get; set; }
public A(string _name, string _address)
{
Name = _name;
Address = _address;
}
}
public class B
{
public string Name { get; set; }
public string Address { get; set; }
public B(string _name, string _address)
{
Name = _name;
Address = _address;
}
}
public class C
{
public string Name { get; set; }
public string Address { get; set; }
public C(string _name, string _address)
{
Name = _name;
Address = _address;
}
}
ジェネリッククラス
public class GenericClass<T>
{
public GenericClass(T obj)
{
DynamicObject = obj;
}
public T DynamicObject { get; set; }
}
私は正常にジェネリッククラスを作成しました。
class Program
{
static void Main(string[] args)
{
A objA = new A("Mohit", "India");
GenericClass<A> objGenericClass = new GenericClass<A>(objA);
Console.ReadLine();
}
}
ここで、GenericクラスのClass A/B/Cプロパティを使用する必要がある場合。どうすれば使えますか?私はクラス参照型がランタイムを決定することを知っています。だから、私は以下の方法でそれを使うことはできません。しかし、他の方法はありますか?
public class GenericClass<T>
{
public GenericClass(T obj)
{
DynamicObject = obj;
}
public T DynamicObject { get; set; }
public void UseClassPro()
{
Console.WriteLine("Address " + DynamicObject.Address);//Compile time error here.
}
}
ジェネリッククラスを使用して、実装の詳細を気にする必要はありません含まれるクラス。 –
よく、それに依存します;) – nozzleman
「ジェネリック」クラスがどのように利用するかを知っているべきであるデザインに追加するインターフェイスが増えれば、ジェネリックな機能が拡張され、ジェネリック機能を拡張する方がより良いアプローチになります。 –