无法找到如何在Dictionary <t,t> </t,t>上调用此扩展方法

时间:2011-07-10 00:43:16

标签: .net class c#-4.0

我已经成功编写并使用了一些类扩展。但是,虽然我可以编写以下内容,但我无法弄清楚如何调用它。这个特定的一个用于将属性样式键值对列表转换为字符串。

public static class Extensions
{
    public static string AttributesToString<T, T1>(this Dictionary<T, T1> dict)
    {
        StringBuilder sb = new StringBuilder();

        foreach (KeyValuePair<T, T1> kv in dict)
        {
            sb.Append(" " + kv.Key + "=\"" + kv.Value + "\"");
        }

        return sb.ToString();
    }
}

以下不起作用:

Dictionary<string, string> dict = new Dictionary<string, string>();

dict.AttributesToString() // error

如何拨打此分机?

1 个答案:

答案 0 :(得分:0)

您遇到了某种构建或范围错误。这非常有效。您的扩展方法是否在另一个程序集或命名空间中?

namespace ConsoleApplication3
{
    class Program
    {
        static void Main(string[] args)
        {
            Dictionary<string, string> dict = new Dictionary<string, string>();
            dict.AttributesToString();
        }
    }

    public static class Extensions
    {
        public static string AttributesToString<T, T1>(this Dictionary<T, T1> dict)
        {
            StringBuilder sb = new StringBuilder();

            foreach (KeyValuePair<T, T1> kv in dict)
            {
                sb.Append(" " + kv.Key + "=\"" + kv.Value + "\"");
            }

            return sb.ToString();
        }
    }
}