是否可以有选择地选择(可能使用装饰器?)基于被调用的构造函数向对象公开哪些方法?
例如,我的类有 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