我已经成功编写并使用了一些类扩展。但是,虽然我可以编写以下内容,但我无法弄清楚如何调用它。这个特定的一个用于将属性样式键值对列表转换为字符串。
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
如何拨打此分机?
答案 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();
}
}
}