本文介绍了为什么成员不是引用的抽象类/接口的一部分?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有以下代码:
[ContractClass(typeof(TestCC))]
interface ITest
{
bool Foo1< T>();
bool Foo2();
void Bar< T>();
}
[ContractClassFor(typeof(ITest))]
抽象类TestCC:ITest
{
public bool Foo1< T>()
{
抛出新的NotImplementedException();
}
public bool Foo2()
{
throw new NotImplementedException();
}
public void Bar< T>()
{
Contract.Ensures(Foo1< T>());
Contract.Ensures(Foo2());
抛出新的NotImplementedException();
}
}
ccrewrite失败,并显示一条错误消息,指出"Contract class"TestCC'引用成员'TestCC.Foo1< type parameter.T>'这不是被注释的抽象类/接口的一部分。"
由于Contract.Ensures(Foo2())很好但不是Constract.Ensures(Foo1< ; T>()),它似乎与泛型类型参数T有问题。为什么呢?
解决方案
这篇关于为什么成员不是引用的抽象类/接口的一部分?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!