拡張メソッドで例外を処理するための最良の方法は何ですか?これには、メソッドから生成された例外と、nullオブジェクトで拡張メソッドを呼び出すことによって発生したnull例外が含まれます。
適切なビジネス機能で拡張メソッドを呼び出す前に処理するのは良いですか、またはメソッドは例外に注意する必要があります。
ここでアイデアを与えるために、コードサンプルがあります
class ABC
{
private readonly string name;
public ABC(string name)
{
this.name = name;
}
public string Name { get { return this.name; } }
}
internal static class ABCExtension
{
internal static void GetName(this ABC abc)
{
Console.WriteLine(abc.Name);
}
}
class Program
{
static void Main(string[] args)
{
ABC abc = new ABC("baam");
abc = null;
abc.GetName();
Console.Read();
}
}
abcオブジェクトがnullであるため、これによりnull例外が生成されます。
詳細については、こちらをご覧ください。私はクラスの責任の間で混乱しています
例外を処理するのは誰の責任か知りたかったのです。メソッドを提供している拡張クラスまたはそれを使用しているクラス?
さらに詳しい情報が必要な場合はお知らせください。