e7a05f69b4040d4771a89101c7a2fbb2ebd67917
[mono.git] / mcs / class / referencesource / System / compmod / system / codedom / CodeMemberEvent.cs
1 //------------------------------------------------------------------------------
2 // <copyright file="CodeMemberEvent.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 an event member.
20     ///    </para>
21     /// </devdoc>
22     [
23         ClassInterface(ClassInterfaceType.AutoDispatch),
24         ComVisible(true),
25         Serializable,
26     ]
27     public class CodeMemberEvent : CodeTypeMember {
28         private CodeTypeReference type;
29         private CodeTypeReference privateImplements = null;
30         private CodeTypeReferenceCollection implementationTypes = null;
31
32         /// <devdoc>
33         ///    <para>[To be supplied.]</para>
34         /// </devdoc>
35         public CodeMemberEvent() {
36         }
37
38         /// <devdoc>
39         ///    <para>
40         ///       Gets or sets the member field type.
41         ///    </para>
42         /// </devdoc>
43         public CodeTypeReference Type {
44             get {
45                 if (type == null) {
46                     type = new CodeTypeReference("");
47                 }
48                 return type;
49             }
50             set {
51                 type = value;
52             }
53         }
54         
55         /// <devdoc>
56         ///    <para>[To be supplied.]</para>
57         /// </devdoc>
58         public CodeTypeReference PrivateImplementationType {
59             get {
60                 return privateImplements;
61             }
62             set {
63                 privateImplements = value;
64             }
65         }
66
67         /// <devdoc>
68         ///    <para>[To be supplied.]</para>
69         /// </devdoc>
70         public CodeTypeReferenceCollection ImplementationTypes {
71             get {
72                 if (implementationTypes == null) {
73                     implementationTypes = new CodeTypeReferenceCollection();
74                 }
75                 return implementationTypes;
76             }
77         }
78     }
79 }