我不知道在运行时需要分配我的对象的哪个属性。
类实例是 sanitize(url: string):SafeUrl {
return this.sanitizer.bypassSecurityTrustUrl(url);
}
,它有几个属性定义为string:
servicerecord
让我们说在运行时,我发现程序需要分配一个字符串值,比如" 11/2/2016" (即日期的字符串表示)到public class ServiceRecord
{
public ServiceRecord(){}
public string dos1 { get; set; }
public string dos2 { get; set; }
public string dos3 { get; set; }
public string dos4 { get; set; }
<snip>
}
。
如何在C#中使用System.Reflection完成?
在javascript中它将是:servicerecord.dos3
通过字符串引用属性的C#对应部分是什么?
答案 0 :(得分:1)
您可以使用PropertyInfo执行此操作。
// Get property to write to.
PropertyInfo pi = _serviceRecord.GetType().GetProperty("dos3");
// Write value to property.
pi.SetValue(_serviceRecord, stringValue, null);
答案 1 :(得分:0)
听起来像你想要一个Dictionary<string,string>
。请记住在ServiceRecord的构造函数