真正开始使用C#。我正在尝试实现TypeDescriptor.GetProperties。在代码中,我不断得到一个空集合。我不知道为什么。
任何帮助都是非常感谢的。谢谢。
public class SampleObjectToExportI
{
public Guid Id;
public DateTime Date;
public string StringValue;
public int NumberValue;
public bool BooleanValue;
public SampleObjectToExportI(Guid id, DateTime date, string stringValue, int numberValue, bool booleanValue)
{
this.Id = id;
this.Date = date;
this.StringValue = stringValue;
this.NumberValue = numberValue;
this.BooleanValue = booleanValue;
}
}
class Program
{
static void Main(string[] args)
{
var myList = new List<SampleObjectToExportI>();
myList.Add(new SampleObjectToExportI(Guid.NewGuid(), DateTime.Now, "String4", 400, true));
myList.Add(new SampleObjectToExportI(Guid.NewGuid(), DateTime.Now, "String5", 500, false));
myList.Add(new SampleObjectToExportI(Guid.NewGuid(), DateTime.Now, "String6", 600, true));
foreach (var sampleObjectToExport in myList)
{
foreach (PropertyDescriptor descriptor in TypeDescriptor.GetProperties(sampleObjectToExport))
{
string name = descriptor.Name;
object value = descriptor.GetValue(sampleObjectToExport);
Console.WriteLine("{0}={1}", name, value);
}
//Console.WriteLine(sampleObjectToExport.NumberValue);
}
}
}发布于 2017-07-19 17:14:44
你没有属性,如果你想要的话语法是这样的:
public Guid Id { set; get; }
public DateTime Date { set; get; }
public string StringValue { set; get; }
public int NumberValue { set; get; }
public bool BooleanValue { set; get; }有关更多信息,请参阅documentation。
另一种方法是保持代码的原样,并使用Type.GetFeilds()
foreach (var fieldInfo in typeof(SampleObjectToExportI).GetFields())https://stackoverflow.com/questions/45186008
复制相似问题