a575963da9
Former-commit-id: da6be194a6b1221998fc28233f2503bd61dd9d14
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;
|
|
}
|
|
}
|
|
}
|
|
}
|