279a2b27b347842d84087a5150fec3f9542b852d
[mono.git] / mcs / class / referencesource / System / compmod / system / codedom / CodeFieldReferenceExpression.cs
1 //------------------------------------------------------------------------------
2 // <copyright file="CodeFieldReferenceExpression.cs" company="Microsoft">
3 // 
4 // <OWNER>Microsoft</OWNER>
5 //     Copyright (c) Microsoft Corporation.  All rights reserved.
6 // </copyright>                                                                
7 //------------------------------------------------------------------------------
8
9 namespace System.CodeDom {
10
11     using System.Diagnostics;
12     using System;
13     using Microsoft.Win32;
14     using System.Collections;
15     using System.Runtime.InteropServices;
16
17     /// <devdoc>
18     ///    <para>
19     ///       Represents a reference to a field.
20     ///    </para>
21     /// </devdoc>
22     [
23         ClassInterface(ClassInterfaceType.AutoDispatch),
24         ComVisible(true),
25         Serializable,
26     ]
27     public class CodeFieldReferenceExpression : CodeExpression {
28         private CodeExpression targetObject;
29         private string fieldName;
30
31         /// <devdoc>
32         ///    <para>
33         ///       Initializes a new instance of <see cref='System.CodeDom.CodeFieldReferenceExpression'/>.
34         ///    </para>
35         /// </devdoc>
36         public CodeFieldReferenceExpression() {
37         }
38
39         /// <devdoc>
40         ///    <para>
41         ///       Initializes a new instance of <see cref='System.CodeDom.CodeFieldReferenceExpression'/>.
42         ///    </para>
43         /// </devdoc>
44         public CodeFieldReferenceExpression(CodeExpression targetObject, string fieldName) {
45             TargetObject = targetObject;
46             FieldName = fieldName;
47         }
48
49         /// <devdoc>
50         ///    <para>
51         ///       Gets or sets
52         ///       the target object.
53         ///    </para>
54         /// </devdoc>
55         public CodeExpression TargetObject {
56             get {
57                 return targetObject;
58             }
59             set {
60                 targetObject = value;
61             }
62         }
63
64         /// <devdoc>
65         ///    <para>
66         ///       Gets or sets
67         ///       the field name.
68         ///    </para>
69         /// </devdoc>
70         public string FieldName {
71             get {
72                 return (fieldName == null) ? string.Empty : fieldName;
73             }
74             set {
75                 fieldName = value;
76             }
77         }
78     }
79 }