我认为代码不仅仅是一个完整的描述:
public interface IBank
{
Bank.EType Type { get; }
}
public abstract Bank<T>: ...
{
public enum EType { Int, Gm, User };
private EType _type;
public EType Type { get { return _type; } }
}
我收到错误:
使用泛型类型PcgTools.Mmodel.Common.Synth.Bank需要类型参数
如何在界面中定义原型以避免错误?
答案 0 :(得分:4)
如错误所示,Bank
类需要您未提供的类型参数。您可以选择T
的类型,例如
Bank<string>.EType Type { get; }
但这可能不是你想要的,因为这会破坏首先使Bank
通用的目的。
类型Bank<int>.EType
和Bank<string>.EType
是不同的类型,无法进行比较,因此您应将其移至非泛型类或顶级:
public abstract class Bank
{
public enum EType { Int, Gm, User };
}
public abstract class Bank<T> : Bank
{
}