我的函数返回一些长值 其中包含低 32 位和高 32 位的两个值。
我认为处理返回值的最佳方式 是从 long 派生我的自定义类型并提供 类型扩展器,如 GetLowerValue()、GetHigherValue()。
问题是 .NET 不允许从 long 派生
如果你编译那个
public class SubmitOrderResult : long
{
}
你得到:
cannot derive from sealed type 'long'
为什么会这样设计,如何克服?
谢谢
最佳答案
如前所述,.NET 中的值类型是密封的,因此您无法从 long 派生。您应该按照建议创建扩展方法。
例子
public static class LongExtensions
{
public static long GetLowerValue(this long value)
{
...
}
public static long GetHigherValue(this long value)
{
...
}
}
关于c# - 为什么我不能从 long 派生?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1782927/