呼び出されたコンストラクターに基づいて、どのメソッドがオブジェクトに公開されるかを (デコレーターを使用して) 選択的に選択することは可能ですか?
たとえば、私のクラスには 2 つのコンストラクターがあります。空のコンストラクターと、ファイル パス文字列を渡すコンストラクターです。
public class MyClass
{
private readonly string _filePath;
public MyClass()
{
}
public MyClass(string filePath)
{
_filePath = filePath
}
public Export()
{
var fi = new FileInfo(_filePath);
}
}
新しい MyClass オブジェクトを作成するときに、パラメーターを指定してコンストラクターを使用して Export メソッドを公開する場合にのみ可能ですか?
var myClass = new MyClass();
//myClass.Export() not available
var myClass = new MyClass(@"C:\");
//myClass.Export() is available