using System; using System.Reflection; public interface I { void Clear (); } public class C : I { public void Clear () { } void I.Clear () { } public static int Main () { var m1 = typeof (C).GetMethod ("Clear"); Console.WriteLine (m1.Attributes); if (m1.Attributes != (MethodAttributes.Public | MethodAttributes.HideBySig)) return 1; var m2 = typeof (C).GetMethod ("I.Clear", BindingFlags.NonPublic | BindingFlags.Instance); Console.WriteLine (m2.Attributes); if (m2.Attributes != (MethodAttributes.Private | MethodAttributes.HideBySig | MethodAttributes.Final | MethodAttributes.Virtual | MethodAttributes.VtableLayoutMask)) return 2; return 0; } }