annotate Implab/Components/IInitializable.cs @ 160:5802131432e4 v2

fixed regression: race condition in Promise DFA refactoring
author cin
date Thu, 18 Feb 2016 19:38:54 +0300
parents 240aa6994018
children d6a8cba73acc
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
152
240aa6994018 component model refactoring
cin
parents:
diff changeset
1 using System;
240aa6994018 component model refactoring
cin
parents:
diff changeset
2
240aa6994018 component model refactoring
cin
parents:
diff changeset
3 namespace Implab.Components {
240aa6994018 component model refactoring
cin
parents:
diff changeset
4 /// <summary>
240aa6994018 component model refactoring
cin
parents:
diff changeset
5 /// Initializable components are created and initialized in two steps, first we have create the component,
240aa6994018 component model refactoring
cin
parents:
diff changeset
6 /// then we have to complete it's creation by calling an <see cref="Init()"/> method. All parameters needed
240aa6994018 component model refactoring
cin
parents:
diff changeset
7 /// to complete the initialization must be passed before the calling <see cref="Init()"/>
240aa6994018 component model refactoring
cin
parents:
diff changeset
8 /// </summary>
240aa6994018 component model refactoring
cin
parents:
diff changeset
9 public interface IInitializable {
240aa6994018 component model refactoring
cin
parents:
diff changeset
10 /// <summary>
240aa6994018 component model refactoring
cin
parents:
diff changeset
11 /// Completes initialization.
240aa6994018 component model refactoring
cin
parents:
diff changeset
12 /// </summary>
240aa6994018 component model refactoring
cin
parents:
diff changeset
13 /// <remarks>
240aa6994018 component model refactoring
cin
parents:
diff changeset
14 /// Normally virtual shouldn't be called from the constructor, due to the incomplete object state, but
240aa6994018 component model refactoring
cin
parents:
diff changeset
15 /// they can be called from this method. This method is also usefull when we constructing a complex grpah
240aa6994018 component model refactoring
cin
parents:
diff changeset
16 /// of components where cyclic references may take place.
240aa6994018 component model refactoring
cin
parents:
diff changeset
17 /// </remarks>
240aa6994018 component model refactoring
cin
parents:
diff changeset
18 void Init();
240aa6994018 component model refactoring
cin
parents:
diff changeset
19 }
240aa6994018 component model refactoring
cin
parents:
diff changeset
20 }
240aa6994018 component model refactoring
cin
parents:
diff changeset
21