小编Edi*_*din的帖子

为什么代码契约将泛型类型参数的检查标记为未经证实?

我定义了一个具有一个通用方法DoSomething的以下示例类:

public static class MyClass
{
    public static void DoSomething<T>(T val)
    {
        System.Diagnostics.Contracts.Contract.Requires(typeof(T).IsEnum);
    }
}
Run Code Online (Sandbox Code Playgroud)

我有以下枚举:

public enum MyEnum { A, B }
Run Code Online (Sandbox Code Playgroud)

现在我使用我的枚举实例调用该方法,如下所示:

class Program
{
    static void Main(string[] args)
    {
        MyClass.DoSomething(MyEnum.A);
    }
}
Run Code Online (Sandbox Code Playgroud)

在代码协定中启用静态检查后,在我调用方法的行显示以下警告:

CodeContracts:需要未经证实:typeof(T).IsEnum

如果在编译时知道该值,为什么它未经证实?

编辑

因为这显然不起作用,可能是因为Code Contracts不理解语义IsEnumval is Enum(Jon也指出).我感兴趣,如果有任何已知的方法在代码合同中进行这种检查?

c# code-contracts

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

WCF:无法添加服务.可能无法访问服务元数据.确保您的服务正在运行并公开元数据

我创建了一个简单的WCF应用程序.该平台设置为Any CPU.我可以成功构建和运行应用程序.但是当我将平台更改为x64时,我收到以下错误:

无法添加服务.可能无法访问服务元数据.确保您的服务正在运行并公开元数据

我的系统有64位操作系统.实际上我必须将平台设置为x64以在我的应用程序中添加一个dll.这个错误的可能原因是什么?请帮我.

我正在使用IIS Express.

.net c# 64-bit wcf

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

RecId在Dynamics AX 2012中的通用表中是否唯一?

RecId Common在AX 2012中跨表唯一吗?我读到这是取决于版本的,但是我没有找到关于AX 2012的任何信息。

如果不是,这是否会打破AX中所有表从扩展的表的多态设计Common?并Common声明RecId...

x++ axapta

2
推荐指数
1
解决办法
4374
查看次数

标签 统计

c# ×2

.net ×1

64-bit ×1

axapta ×1

code-contracts ×1

wcf ×1

x++ ×1