blob: 24acbf2d77f578b98dd22b54e17cc9cf74c7b040 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
using System;
using System.Reflection;
namespace NewslotVirtualFinal
{
internal interface INewslotVirtualFinal
{
void SomeMethod();
void SomeMethod2();
}
internal class NewslotVirtualFinal : INewslotVirtualFinal
{
private NewslotVirtualFinal()
{
}
public void SomeMethod()
{
}
public virtual void SomeMethod2()
{
}
}
class C
{
public static int Main ()
{
Type t = typeof (NewslotVirtualFinal);
MethodInfo mi = t.GetMethod ("SomeMethod");
if (mi.Attributes != (MethodAttributes.PrivateScope | MethodAttributes.Public | MethodAttributes.Final | MethodAttributes.Virtual | MethodAttributes.HideBySig | MethodAttributes.VtableLayoutMask))
return 1;
mi = t.GetMethod ("SomeMethod2");
if (mi.Attributes != (MethodAttributes.PrivateScope | MethodAttributes.Public | MethodAttributes.Virtual | MethodAttributes.HideBySig | MethodAttributes.VtableLayoutMask))
return 2;
Console.WriteLine ("OK");
return 0;
}
}
}
|