私は次のような拡張メソッドを持っています
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)'
この拡張メソッドをプロジェクトの他の場所に配置していないことを誓います。実行時にのみこのエラーが発生するのはなぜですか..?
しかし、このメソッドを削除すると、実行時ではなくビルド時にエラーが発生します。このメソッドのコードがなくても、すべて正常に動作します。