6992685b86
Former-commit-id: 0a113cb3a6feb7873f632839b1307cc6033cd595
46 lines
1.3 KiB
C#
46 lines
1.3 KiB
C#
|
|
// Make sure that the field and accessor methods of an automatic property have the CompilerGenerated attribute
|
|
using System;
|
|
using System.Reflection;
|
|
using System.Runtime.CompilerServices;
|
|
using System.Diagnostics;
|
|
|
|
public class Test
|
|
{
|
|
public string Foo { get; set; }
|
|
|
|
public static int Main ()
|
|
{
|
|
FieldInfo [] fields = typeof (Test).GetFields(BindingFlags.NonPublic | BindingFlags.Instance);
|
|
if (!(fields.Length > 0))
|
|
return 1;
|
|
object [] field_atts = fields[0].GetCustomAttributes (false);
|
|
if (field_atts.Length != 2)
|
|
return 2;
|
|
if (field_atts[1].GetType() != typeof (DebuggerBrowsableAttribute))
|
|
return 3;
|
|
if (field_atts[0].GetType() != typeof (CompilerGeneratedAttribute))
|
|
return 4;
|
|
|
|
if (fields [0].Name != "<Foo>k__BackingField")
|
|
return 10;
|
|
|
|
PropertyInfo property = typeof (Test).GetProperty ("Foo");
|
|
MethodInfo get = property.GetGetMethod (false);
|
|
object [] get_atts = get.GetCustomAttributes (false);
|
|
if (!(get_atts.Length > 0))
|
|
return 4;
|
|
if (get_atts[0].GetType() != typeof (CompilerGeneratedAttribute))
|
|
return 5;
|
|
|
|
MethodInfo set = property.GetSetMethod (false);
|
|
object [] set_atts = set.GetCustomAttributes (false);
|
|
if (!(set_atts.Length > 0))
|
|
return 6;
|
|
if (set_atts[0].GetType() != typeof (CompilerGeneratedAttribute))
|
|
return 7;
|
|
|
|
return 0;
|
|
}
|
|
}
|