C# Can';公共接口的t访问属性
我定义了一个简单的接口:C# Can';公共接口的t访问属性,c#,interface,properties,C#,Interface,Properties,我定义了一个简单的接口: public interface Categorizable { string Category { get; set; } } 在其他地方,我尝试在函数中使用它: public void Add(Categorizable item) { string cat = item.Category; } 然而,VisualStudio告诉我“Categorizable不包含Category的定义”。 如何修复此问题,以便将类别用作可访问属性 接口前面应
public interface Categorizable {
string Category { get; set; }
}
在其他地方,我尝试在函数中使用它:
public void Add(Categorizable item)
{
string cat = item.Category;
}
然而,VisualStudio告诉我“Categorizable不包含Category的定义”。
如何修复此问题,以便将类别用作可访问属性
I
ICategorizable
,它非常常见,也是C#的标准- 如果这是来自类库,请检查您是否实际使用了正确的版本,以及项目中的版本
除此之外,没有什么其他问题会出问题。这就是接口的工作方式(没有偏差)。应该是这样的。事实上,如果我把这两位代码放在IDE中,它就会编译。因此,我怀疑您没有向我们显示某些内容。右键单击类型名称并转到定义,查看它是否引用了相同的类型。啊,找到问题了。问题是,我声明了一个实现列表相关接口的类,该接口通过可重用对象进行迭代,并将其声明为ListDictionary,而我本应将其声明为ListDictionary。问题解决了!