我有自定义接口类型(IMyInterface)的ReadOnlyCollection。我想为自定义接口类型添加扩展方法。但是,当我访问ReadOnlyCollection中的项目时,我的扩展方法没有显示。 这是我的代码:
public static class MyClass
{
public static string GetValueByName(this IMyInterface myInterface, string myName)
{
foreach (var name in myInterface.names) //
{
if (myName == name)
return name;
}
throw new ArgumentException(myName + " not found.");
}
}
当我尝试通过执行类似的操作来访问它时,
MyMethod[0].<extension method> //MyMethod returns a ReadOnlyCollection<IMyInterface>
在MyMethod [0](在Visual Studio中)意味着它不可用之后,弹出窗口中没有显示扩展方法。我可能会错过什么?是否可以在ReadOnlyCollection中为项添加扩展方法?
答案 0 :(得分:1)
猜猜我会把它变成答案:
您还没有为您的扩展程序命名空间添加using
语句。
例如,如果您在MyNamespace
中编写了扩展程序,则必须在您使用该扩展程序的班级中加入using MyNamespace
。