问题描述
考虑以下代码:
public static class Class1
{
public static string Test(this string t) => "string";
public static string Test<T>(this T t) => "t";
public static string Test<U>(this List<U> list)
{
StringBuilder result = new StringBuilder();
list.ForEach(s => result.Append($"{s.Test()},"));
return $"List({result.ToString()})";
}
public static void X()
{
System.Diagnostics.Debug.WriteLine("Hallo".Test()); // "string"
System.Diagnostics.Debug.WriteLine(new Y().Test()); // "t"
var YList = new List<Y>();
YList.Add(new Y());
System.Diagnostics.Debug.WriteLine(YList.Test()); // "List(t,)"
var stringList = new List<string>();
stringList.Add("Hallo");
System.Diagnostics.Debug.WriteLine(stringList.Test()); // "List(t,)" !!
}
}
IMO,最后一种情况应该输出“ List(string,)”,因为它是为List
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)