In System.Web.Configuration.Internal:
[mono.git] / mcs / mbas / testsuite / attrtest.vb
1 Imports System\r
2 Imports System.Reflection\r
3 Imports TestUtils\r
4 \r
5 Namespace Pippo\r
6 \r
7 <AttributeUsage(AttributeTargets.All, Inherited:=True, AllowMultiple:=True)> _\r
8 Public Class Annotation\r
9     Inherits System.Attribute\r
10 \r
11     Protected strAuthor As String\r
12     Protected strComment As String\r
13 \r
14     Public Sub New(ByVal Author As String, ByVal Comment As String)\r
15         strAuthor = Author\r
16         strComment = Comment\r
17     End Sub\r
18 \r
19     Public Property Author() As String\r
20         Get\r
21             Author = strAuthor\r
22         End Get\r
23         \r
24         Set(Value As String)\r
25             strAuthor = CStr(Value)\r
26         End Set\r
27     End Property\r
28 \r
29     Public Property Comment() As String\r
30         Get\r
31             Return strComment\r
32         End Get\r
33         Set(Value As String)\r
34             strComment = CStr(Value)\r
35         End Set\r
36     End Property\r
37 \r
38 End Class\r
39 \r
40 <Annotation("mr-", "AttributeTest")> _\r
41 Public Class TestClass\r
42         Public Sub New(a As integer,b As integer,c As integer)\r
43         \r
44         End Sub\r
45         \r
46         Public Sub SayWhoYouAre()\r
47 \r
48         End Sub\r
49 End Class\r
50 \r
51 Public Class TestClass2\r
52         Public Sub New(a As integer,b As integer,c As integer)\r
53         \r
54         End Sub\r
55         \r
56         Public Sub SayWhoYouAre()\r
57 \r
58         End Sub\r
59 End Class\r
60 \r
61 Module Test\r
62 \r
63 Dim tc As TestClass\r
64 \r
65 Public Sub Main()\r
66         Dim tc_type As Type\r
67         Dim obj(1) As Object\r
68         Dim MyAnnotation As Annotation\r
69 \r
70         tc = New TestClass(2,3,4)\r
71         tc_type = tc.GetType()\r
72         obj = tc_type.GetCustomAttributes(False)\r
73         MyAnnotation = CType(obj(0), Annotation)\r
74         \r
75         Console.WriteLine(TestUtils.GenerateHash(MyAnnotation.Author & MyAnnotation.Comment))\r
76 End Sub\r
77 \r
78 End Module\r
79 \r
80 End Namespace\r