44 lines
982 B
C#
Raw Normal View History

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;
}
}
}