yol*_*ora 2 c# constructor object-initializers
Position我正在使用对象初始值设定项来创建具有如下属性的对象:
var control = new HtmlTextbox(browser)
{
Position = position;
};
Run Code Online (Sandbox Code Playgroud)
据我所知,它与以下内容相同:
var control = new HtmlTextbox(browser);
control.Position = position;
Run Code Online (Sandbox Code Playgroud)
但我想Position在我的构造函数方法中使用初始化属性。Position有没有办法在不提供作为构造函数参数的情况下做到这一点?
你想要达到的目标是不可能的。
在我看来,你想让构造函数的一些参数可选。您可能想研究一下这种模式:
//Your constructor
public HtmlTextbox(TextboxConfiguration config)
{
//config.Position
}
//A Transfer class
public class TextboxConfiguration
{
public T Browser { get; set; }
public T Position { get; set; }
}
//Your code
var config = new TextboxConfiguration
{
Browser = browser;
Position = position;
}
var textbox = new HtmlTextbox(config);
Run Code Online (Sandbox Code Playgroud)