[英]C#.NET Generic Methods and Inheritance
是否可以在C#.NET中使用泛型執行以下操作
public abstract class A
{
public abstract T MethodB<T>(string s);
}
public class C: A
{
public override DateTime MethodB(string s)
{
}
}
ie在基類中有一個泛型方法,然后在子類中使用該方法的特定類型。
類型參數應該用類型聲明,子類將在其繼承聲明中聲明特定類型:
public abstract class A<T>
{
public abstract T MethodB(string s);
}
public class C: A<DateTime>
{
public override DateTime MethodB(string s)
{
...
}
}
沒有。
原因是您只為一個特例提供實施。 基類要求您實現可以適用於任何類型T
的MethodB
。 如果你只為DateTime
實現它,如果有人調用,例如, ((A)obj).MethodB<int>
那么你沒有任何可以使用的實現!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.