「ここで、T:WsgTypes.RouteRestriction」Tは私が「ジェネリック医薬品のC#.NET
public static T GetDetails<T>(string code) where T : WsgTypes.RouteRestriction
{
T details;
if (typeof(T) == typeof(WsgTypes.TicketType))
{
details = TicketTypeDetail.GetDetails(code) as T;
}
else if (typeof(T) == typeof(WsgTypes.RouteRestriction))
{
details = RouteRestrictionDetail.GetDetails(code) as T;
}
else
{
throw new NotSupportedException("");
}
return details;
throw new NotImplementedException();
}
これは一般的な方法が設計されたものではありません。いくつかの可能性がある場合は、最初に汎用メソッドを使用しないでください。可能なタイプが3つしかない場合は、3つの異なるメソッドを記述します。ジェネリックスは、タイプが本当に汎用的である場合(無制限数のタイプのいずれかになり得る場合)に設計されています。 –