Fix bugs in sizing TableLayoutPanel (Xamarin bug 18638)
[mono.git] / mcs / class / System.ComponentModel.Composition / src / ComponentModel / System / ComponentModel / Composition / ReflectionModel / ReflectionParameter.cs
1 // -----------------------------------------------------------------------\r
2 // Copyright (c) Microsoft Corporation.  All rights reserved.\r
3 // -----------------------------------------------------------------------\r
4 using System;\r
5 using System.Globalization;\r
6 using System.Reflection;\r
7 using Microsoft.Internal;\r
8 using System.Threading;\r
9 \r
10 namespace System.ComponentModel.Composition.ReflectionModel\r
11 {\r
12     internal class ReflectionParameter : ReflectionItem\r
13     {\r
14         private readonly ParameterInfo _parameter;\r
15 \r
16         public ReflectionParameter(ParameterInfo parameter)\r
17         {\r
18             Assumes.NotNull(parameter);\r
19 \r
20             this._parameter = parameter;\r
21         }\r
22 \r
23         public ParameterInfo UnderlyingParameter\r
24         {\r
25             get { return this._parameter; }\r
26         }\r
27 \r
28         public override string Name\r
29         {\r
30             get { return this.UnderlyingParameter.Name; }\r
31         }\r
32 \r
33         public override string GetDisplayName()\r
34         {\r
35             return string.Format(\r
36                 CultureInfo.CurrentCulture,\r
37                 "{0} (Parameter=\"{1}\")",  // NOLOC\r
38                 this.UnderlyingParameter.Member.GetDisplayName(),\r
39                 this.UnderlyingParameter.Name);\r
40         }\r
41 \r
42         public override Type ReturnType\r
43         {\r
44             get { return this.UnderlyingParameter.ParameterType; }\r
45         }\r
46 \r
47         public override ReflectionItemType ItemType\r
48         {\r
49             get { return ReflectionItemType.Parameter; }\r
50         }\r
51     }\r
52 }\r