49 lines
972 B
C#
49 lines
972 B
C#
|
using System;
|
||
|
using System.Reflection;
|
||
|
using System.Runtime.InteropServices;
|
||
|
|
||
|
namespace preservesig_test
|
||
|
{
|
||
|
class Class1
|
||
|
{
|
||
|
public static int Main(string[] args)
|
||
|
{
|
||
|
MethodInfo dofoo = typeof(TestClass).GetMethod("DoFoo");
|
||
|
if ((dofoo.GetMethodImplementationFlags() & MethodImplAttributes.PreserveSig) == 0)
|
||
|
return 1;
|
||
|
|
||
|
dofoo = typeof(TestClass).GetProperty("Foo").GetGetMethod ();
|
||
|
if ((dofoo.GetMethodImplementationFlags() & MethodImplAttributes.PreserveSig) == 0)
|
||
|
return 1;
|
||
|
|
||
|
dofoo = typeof(TestClass).GetEvent("e").GetAddMethod (true);
|
||
|
if ((dofoo.GetMethodImplementationFlags() & MethodImplAttributes.PreserveSig) == 0)
|
||
|
return 1;
|
||
|
|
||
|
Console.WriteLine("Has PreserveSig");
|
||
|
return 0;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public class TestClass
|
||
|
{
|
||
|
public delegate void D ();
|
||
|
|
||
|
[method:PreserveSig]
|
||
|
public event D e;
|
||
|
|
||
|
[PreserveSig()]
|
||
|
public int DoFoo()
|
||
|
{
|
||
|
return 0;
|
||
|
}
|
||
|
|
||
|
public int Foo {
|
||
|
[PreserveSig]
|
||
|
get {
|
||
|
return 2;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|