我有一个扩展方法,比如
public static class Extension
{
public static string GetTLD(this string str)
{
var host = new System.Uri(str).Host;
int index = host.LastIndexOf('.'), last = 3;
while (index >= last - 3)
{
last = index;
index = host.LastIndexOf('.', last - 1);
}
var domain = host.Substring(index + 1);
return domain;
}
}
我这样称呼
string domain = "." + _url.GetTLD();
我在构建和干净构建时没有错误。
但我compilation error
在运行时出错说
以下方法或属性之间的调用不明确:“myIGNOU.Extension.GetTLD(string)”和“myIGNOU.Extension.GetTLD(string)”
我发誓我没有将此扩展方法放在项目中的其他任何地方。为什么我只在运行时收到此错误..?
但是,如果我删除此方法,那么我会在构建时而不是在运行时收到错误。没有此方法的代码,一切正常。