この分野での私の基本的な考え方には欠陥があるのではないかと思うので、静的クラスの効率を理解したいと思います。プライベート変数がアクセサーの情報を保持するため、コストのかかるリフレクション呼び出しがあまり頻繁に発生しないという前提で、次のようなコードを書くことがよくあります。これは非静的クラスとインスタンス プロパティでの適切なプラクティスであると確信していますが、静的クラスでこの構成を使用する利点はありますか、それともパブリック アクセサーへの呼び出しごとにプライベート フィールドをインスタンス化する必要がありますか?
using System.Reflection;
public static class ApplicationInformation
{
public static Assembly ExecutingAssembly
{
get { return executingAssembly ?? (executingAssembly = Assembly.GetExecutingAssembly()); }
}
private static Assembly executingAssembly;
}