Fixing an issue with output parameters that are of type IntPtr
[castle.git] / Core / Castle.Core / Model / ParameterModel.cs
blobffbb9fd7c63589b546861092c020b16bfba0326d
1 // Copyright 2004-2008 Castle Project - http://www.castleproject.org/
2 //
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
6 //
7 // http://www.apache.org/licenses/LICENSE-2.0
8 //
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.Core
17 using System;
18 using Castle.Core.Configuration;
20 /// <summary>
21 /// Represents a parameter. Usually the parameter
22 /// comes from the external world, ie, an external configuration.
23 /// </summary>
24 #if !SILVERLIGHT
25 [Serializable]
26 #endif
27 public class ParameterModel
29 private String name;
30 private String value;
31 private IConfiguration configValue;
33 /// <summary>
34 /// Initializes a new instance of the <see cref="ParameterModel"/> class.
35 /// </summary>
36 /// <param name="name">The name.</param>
37 /// <param name="value">The value.</param>
38 public ParameterModel(String name, String value)
40 this.name = name;
41 this.value = value;
44 /// <summary>
45 /// Initializes a new instance of the <see cref="ParameterModel"/> class.
46 /// </summary>
47 /// <param name="name">The name.</param>
48 /// <param name="value">The value.</param>
49 public ParameterModel(String name, IConfiguration value)
51 this.name = name;
52 configValue = value;
55 /// <summary>
56 /// Gets the name.
57 /// </summary>
58 /// <value>The name.</value>
59 public String Name
61 get { return name; }
64 /// <summary>
65 /// Gets the value.
66 /// </summary>
67 /// <value>The value.</value>
68 public String Value
70 get { return value; }
73 /// <summary>
74 /// Gets the config value.
75 /// </summary>
76 /// <value>The config value.</value>
77 public IConfiguration ConfigValue
79 get { return configValue; }