嗨,这里是我正在尝试做的事情,我有一个类(EventType),它可以是动态的,并在不同时间具有不同的成员/属性。在运行时使用反射来获取类的实例的属性C#
class EventType
{
int id{set;}
string name{set;}
DateTime date{set;}
List<int> list{set;}
Guid guid{set;}
}
在我的主要方法,我在这个类中传递一个实例给一个函数在不同的类,并试图反思来获得实例,但它不是成功的特性,给我空值。
class Program
{
static void Main(string[] args)
{
EventType event1 = new EventType();
int rate = 100;
DataGenerator.Generate<EventType>(event1, rate);
}
public static byte[] test(EventType newEvent)
{
return new byte[1];
}
}
static class DataGenerator
{
public static void Generate<T>(T input, int eventRate, Func<T, byte[]> serializer=null)
{
Type t = input.GetType();
PropertyInfo[] properties = t.GetProperties();
foreach (PropertyInfo property in properties)
{
Console.WriteLine(property.ToString());
}
var bytes = serializer(input);
}
}
关于你提到的“生成”的方法,我想知道什么是不同外的开箱系列化? (二进制序列化,xml序列化或JSon)。你不应该依赖现有的序列化机制吗? –
我试图让人们可以使用自己的序列化程序的方法,如果他们不提供一个我会继续使用现有的一个 – MJSHARMA