annotate Implab/Components/IInitializable.cs @ 196:40d7fed4a09e

fixed promise chaining behavior, the error handler doesn't handle result or cancellation handlers exceptions these exceptions are propagated to the next handlers.
author cin
date Mon, 29 Aug 2016 23:15:51 +0300
parents d6a8cba73acc
children 8200ab154c8a
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>
184
d6a8cba73acc working on runnable component
cin
parents: 152
diff changeset
14 /// Normally virtual methods shouldn't be called from the constructor, due to the incomplete object state, but
152
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