【发布时间】:2022-01-03 15:21:50
【问题描述】:
我在 C# 中有这个课程:
public class MyClass<A, B> where B : OtherClass<A>
{
[SerializeField] A _value = default;
public A Value
{
get => _value;
set => _value = value;
}
public static implicit operator A(MyClass<A, B> variable)
{
return variable.Value;
}
}
我真的很想能够做到这一点:
MyClass<int, OtherClass<int>> myVar = new MyClass<int, OtherClass<int>>();
myVar.Value = 5;
myVar -= 3; // this is actually not valid and I wish to make it valid.
有什么我不知道的方法吗?
如果您需要任何进一步的信息,请告诉我。
【问题讨论】:
-
无论如何你只能使用有限数量的类型,所以也许你应该为它们创建单独的类型而忘记泛型
标签: c# generics type-conversion operator-keyword implicit