对ReadOnlyCollection项的扩展方法

时间:2014-09-19 19:38:23

标签: c# extension-methods readonly-collection

我有自定义接口类型(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中为项添加扩展方法?

1 个答案:

答案 0 :(得分:1)

猜猜我会把它变成答案:

您还没有为您的扩展程序命名空间添加using语句。

例如,如果您在MyNamespace中编写了扩展程序,则必须在您使用该扩展程序的班级中加入using MyNamespace