0

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

4

1 回答 1

1

猜猜我会把它变成一个答案:

您尚未包含using扩展名称空间的语句。

例如,如果您在 中编写了扩展,则必须在使用该扩展的类中MyNamespace包含该扩展。using MyNamespace

于 2014-09-19T20:09:04.623 回答