Fix bugs in sizing TableLayoutPanel (Xamarin bug 18638)
[mono.git] / mcs / class / System.ComponentModel.Composition / Tests / ComponentModelUnitTest / System / ComponentModel / Composition / Factories / ImportDefinitionFactory.DerivedContractBasedImportDefinition.cs
1 // -----------------------------------------------------------------------\r
2 // Copyright (c) Microsoft Corporation.  All rights reserved.\r
3 // -----------------------------------------------------------------------\r
4 using System;\r
5 using System.ComponentModel.Composition;\r
6 using System.Collections.Generic;\r
7 using System.Linq.Expressions;\r
8 using System.ComponentModel.Composition.Primitives;\r
9 \r
10 namespace System.ComponentModel.Composition.Factories\r
11 {\r
12     partial class ImportDefinitionFactory\r
13     {\r
14         private class DerivedContractBasedImportDefinition : ContractBasedImportDefinition\r
15         {\r
16             private readonly string _contractName;\r
17             private readonly ImportCardinality _cardinality;\r
18             private readonly bool _isRecomposable;\r
19             private readonly bool _isPrerequisite;\r
20             private readonly IEnumerable<KeyValuePair<string, Type>> _requiredMetadata;\r
21 \r
22             public DerivedContractBasedImportDefinition(string contractName, IEnumerable<KeyValuePair<string, Type>> requiredMetadata, ImportCardinality cardinality, bool isRecomposable, bool isPrerequisite)\r
23             {\r
24                 _contractName = contractName;\r
25                 _cardinality = cardinality;\r
26                 _isRecomposable = isRecomposable;\r
27                 _isPrerequisite = isPrerequisite;\r
28                 _requiredMetadata = requiredMetadata;\r
29             }\r
30 \r
31             public override IEnumerable<KeyValuePair<string, Type>> RequiredMetadata\r
32             {\r
33                 get { return _requiredMetadata ?? base.RequiredMetadata; }\r
34             }\r
35 \r
36             public override ImportCardinality Cardinality\r
37             {\r
38                 get { return _cardinality; }\r
39             }\r
40 \r
41             public override bool IsPrerequisite\r
42             {\r
43                 get { return _isPrerequisite; }\r
44             }\r
45 \r
46             public override bool IsRecomposable\r
47             {\r
48                 get { return _isRecomposable; }\r
49             }\r
50 \r
51             public override string ContractName\r
52             {\r
53                 get { return _contractName; }\r
54             }\r
55         }\r
56     }\r
57 }\r