我想在 Unity 编辑器中使用通用类型定义,但(尚)无法更新到本机支持此功能的 Unity 2020.1。解决方法是定义一个扩展泛型类的非泛型类。但是,当我尝试使用基本上是泛型属性的命名版本的定义类覆盖基类属性时,编译器报告两种类型不兼容。由于此描述非常......通用......这里有一些代码来说明我的问题:
class Property<T> { }
class BaseClass<T>
{
public virtual Property<T> Property { protected get; set; }
}
class StringProperty : Property<string> { }
class SubClass : BaseClass<string>
{
public override StringProperty Property { protected get; set; }
}
Run Code Online (Sandbox Code Playgroud)
SubClass.Property': type must be 'Property<string>' to match overridden member 'BaseClass<string>.Property
Run Code Online (Sandbox Code Playgroud)
SubClass.Property 基本上是,Property<string>但我不知道如何将其传达给编译器。