Я использую. net ядро 3.1, и у меня есть метод FillData
. Я хочу установить случайным образом (или это может быть первое значение enum) значение enum для моего объекта , но я не могу этого достичь. Как написать комментарий ниже? Приведенный ниже код можно воспроизвести, скопировав его непосредственно в https://dotnetfiddle.net/
using System;
using System.Reflection;
public class Program
{
public static void Main()
{
var wantedObject = MyHelper.FillData<Student>();
Console.WriteLine(wantedObject.Gender);
}
public static class MyHelper
{
public static T FillData<T>()
{
Type type = typeof(T);
PropertyInfo[] properties = type.GetProperties();
var resultObject = (T)Activator.CreateInstance(typeof(T), new object[]{});
foreach (PropertyInfo property in properties)
{
if (property.PropertyType == typeof(string))
{
property.SetValue(resultObject, "asdf");
}
else if (property.PropertyType.BaseType.FullName == "System.Enum")
{
// property.SetValue(resultObject, ???????? );
}
}
return resultObject;
}
}
public class Student
{
public string Name{get;set;}
public string Surname{get;set;}
public GenderEnum Gender{get;set;}
public LevelEnum Level{get;set;}
}
public enum GenderEnum
{
Male = 1,
Female = 2,
}
public enum LevelEnum
{
High = 1,
Low = 2,
}
}