2012-02-07 26 views

答えて

4

はい、C#で動作します - オブジェクトは構築中でも「最終型」です。

Javaと同じように、これは悪い考えであり、可能な限り避けるべきです。まだ完全に初期化されていない継承「レベル」で実装されたメソッドを呼び出すかもしれません。 JavaとC#の間の実行順序で

一つの違いは、このようなC#の、初期化子とインスタンス変数、中:

private readonly DateTime creationTime = DateTime.UtcNow; 

...と基底クラスのコンストラクタは、Javaでのに対し、実行前に初期化それらは、サブクラスコンストラクタの本体の直前、の後で、の後に効果的に実行され、スーパークラスコンストラクタが実行されます。

関連する問題