我的函数返回一些长值
其中包含低32位和高32位的两个值。

我认为处理返回值(value)的最佳方法
是从长期派生我的自定义类型并提供
输入诸如GetLowerValue(),GetHigherValue()之类的扩展程序。

问题是.NET不允许从很长的时间内派生

如果你编译

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# - 为什么我不能从长久而来?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1782927/

10-17 02:04