我有各種派生對象,希望用戶能夠使用對象初始化程序。我有一個「Initializing」屬性,我希望這些屬性被設置爲true,然後我希望Initializing屬性在之後設置爲false。如何判斷對象初始化程序何時完成
我該如何判斷對象初始值設定項何時可以執行此操作?
class Foo
{
Public Foo(string p1, string p2)
{
Initializing = true;
Property1 = p1;
Property2 = p2;
Initializing = false;
}
bool Initializing;
string _property1;
string Property1
{
get { return _property1; }
set { _property1 = value; DoSomething(); }
}
string Property2 { get; set; }
public void DoSomething()
{
if(Initializing) return; // Don't want to continue if initializing
// Do something here
}
}
在上面的例子,如果你使用的構造函數,它工作正常。儘管如何使它與對象初始值設定項一樣工作也是個問題。
編輯:爲了你的反對者,這裏是別人找正是我追求 - http://blogs.clariusconsulting.net/kzu/how-to-make-object-initializers-more-useful/
不幸的是它看起來喜歡它是不可能的,但。
你可以張貼一些代碼來說明更好你想要做什麼? – 2012-02-09 04:36:07
@AndrewCooper你走了。 – 2012-02-09 04:44:07
@BrandonMoore這是一個非常糟糕的主意。你從字面上讓我不寒而慄。 – asawyer 2012-02-09 04:45:47