我在 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.
有什么我不知道的方法嗎?
如果您需要任何進一步的資訊,請告訴我。
uj5u.com熱心網友回復:
不,那是不可能的。由于連有一個都沒有介面operator -,所以沒有辦法表示A必須有一個operator -。并且隨著這種可能性的消失,就無法創建自己的operator -callA運算子減號。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/405262.html
標籤:
