2004-02-20 Rafael Teixeira <rafaelteixeirabr@hotmail.com>
[mono.git] / mcs / class / Microsoft.VisualBasic / Microsoft.VisualBasic / ComClassAttribute.cs
1 //
2 // ComClassAttribute.cs
3 //
4 // Authors:
5 //   Chris J Breisch (cjbreisch@altavista.net) 
6 //   Rafael Teixeira (rafaelteixeirabr@hotmail.com)
7 //
8 // (C) 2002 Chris J Breisch
9 // (C) 2004 Rafael Teixeira
10 //
11
12 using System;
13
14 namespace Microsoft.VisualBasic {
15         [AttributeUsage(AttributeTargets.Class, Inherited = false, AllowMultiple = false)] 
16         sealed public class ComClassAttribute : Attribute {
17                 // Declarations
18                 private string classID;
19                 private string interfaceID;
20                 private string eventID;
21                 private bool interfaceShadows;
22
23                 // Constructors
24
25                 public ComClassAttribute() { }
26
27                 public ComClassAttribute(string _ClassID) { 
28                         classID = _ClassID;
29                 }
30
31                 public ComClassAttribute(string _ClassID, string _InterfaceID) { 
32                         classID = _ClassID;
33                         interfaceID = _InterfaceID;
34                 }
35
36                 public ComClassAttribute(string _ClassID, string _InterfaceID, string _EventID) { 
37                         classID = _ClassID;
38                         interfaceID = _InterfaceID;
39                         eventID = _EventID;
40                 }
41
42                 // Properties
43                 public string EventID { get { return eventID; } }
44
45                 public bool InterfaceShadows { 
46                         get { return interfaceShadows; } 
47                         set { interfaceShadows = value; } 
48                 }
49
50                 public string ClassID { get { return classID; } }
51
52                 public string InterfaceID { get { return interfaceID; } }
53         };
54 }