小编Dav*_*man的帖子

C#:数字的通用接口

我试图执行一些独立于数字类型的通用数字操作.但是,我知道无法使用泛型来做到这一点.第一个想法是使用where语句过滤传入的类型,但所有数字类型都是关闭的,因此对于通用过滤器无效.此外,泛型不允许标准的数字运算(加法,移位等),因此我能想出的唯一解决方案是非通用地重写每个方法.还有其他想法吗?

作为参考,以下是我最初尝试的代码:

    private const int BYTE_SIZE = 8;

    private const int UINT16_SIZE = 16;

    private const int UINT32_SIZE = 32;

    private const int UINT64_SIZE = 64;

    public static byte[] ToBytes(UInt16[] pnaValues)
    {
        return ToSmaller<byte, UInt16>(pnaValues, BYTE_SIZE, UINT16_SIZE);
    }

    public static byte[] ToBytes(UInt32[] pnaValues)
    {
        return ToSmaller<byte, UInt32>(pnaValues, BYTE_SIZE, UINT32_SIZE);
    }

    ....

    public static UInt16[] ToUInt16s(byte[] pnaValues)
    {
        return ToLarger<UInt16, byte>(pnaValues, UINT16_SIZE, BYTE_SIZE);
    }

    public static UInt16[] ToUInt16s(UInt32[] pnaValues)
    {
        return ToSmaller<UInt16, UInt32>(pnaValues, UINT16_SIZE, UINT32_SIZE);
    }

    ...

    public static UInt64[] ToUInt64s(UInt32[] …
Run Code Online (Sandbox Code Playgroud)

c# generics

6
推荐指数
1
解决办法
4730
查看次数

Visual Studio:警告缺少私有和内部成员的XML文档

我正在使用Visual Studio 2005(VS.8.0),我希望强制要求记录所有类成员,而不仅仅是公共成员.虽然公共,受保护或受内部保护的成员没有记录,但设置Visual Studio以生成警告是微不足道的,我正在寻找一种让私有和内部成员抛出相同警告的方法.有什么建议?

注意:我正在使用警告级别4,将警告视为错误,并设置了生成XML标志.

xml-documentation compiler-warnings visual-studio

5
推荐指数
1
解决办法
980
查看次数