1 // Copyright 2004-2008 Castle Project - http://www.castleproject.org/
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
7 // http://www.apache.org/licenses/LICENSE-2.0
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
15 namespace Castle
.MicroKernel
.Tests
.ClassComponents
17 public interface IRepository
21 public interface IRepository
<T
> : IRepository
27 public class DecoratedRepository
: IRepository
29 public DecoratedRepository()
34 public class Repository1
: IRepository
36 private IRepository _inner
;
38 public IRepository InnerRepository
40 get { return _inner; }
43 public Repository1(IRepository inner
)
49 public class Repository2
: IRepository
51 private IRepository _inner
;
53 public IRepository InnerRepository
55 get { return _inner; }
58 public Repository2(IRepository inner
)
64 public class Repository3
: IRepository
66 private IRepository _inner
;
68 public IRepository InnerRepository
70 get { return _inner; }
73 public Repository3(IRepository inner
)
79 public class DefaultRepository
<T
> : IRepository
<T
>
80 where T
: class, new()