Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
So instead of the generic for the lock we had yesterday we can add a default constructor for convenience in the code and keep the constructor injection for the test code:
1: public class ImportantProvider<T> where T : ImportantInterface, new()
2: {
3: private T _importantObject = new T();
4: private Lock _lock;
5:
6: public ImportantProvider() : this(new MutexLock())
7: {
8:
9: }
10:
11: public ImportantProvider(Lock aLock)
12: {
13: _lock = aLock;
14: }
15:
16: public Transaction Transaction
17: {
18: get
19: {
20: return new Transaction(_importantObject, _lock);
21: }
22: }
23: }