C# 使用反射更改属性类型
我的域类中有一个十进制值属性:C# 使用反射更改属性类型,c#,.net,reflection,C#,.net,Reflection,我的域类中有一个十进制值属性: public class Domain { public decimal Value {get;set} } 我需要用两个数据库值分配该Value属性: obj1.Value = decimal.Parse(reader["Value"].ToString()); obj2.Value = decimal.Parse(reader["Value2"].ToString()); 然后我有一个比较器方法来比较这两个属性
public class Domain
{
public decimal Value {get;set}
}
我需要用两个数据库值分配该Value属性:
obj1.Value = decimal.Parse(reader["Value"].ToString());
obj2.Value = decimal.Parse(reader["Value2"].ToString());
然后我有一个比较器方法来比较这两个属性:
public void Compare(List<object> Domains)
{
//get properties with reflection
//if the properties values are different I need to set a 'string' value [DIFFERENT] to it.
prop.SetValue(comparableObj, "[DIFFERENT]", null);
}
public void比较(列出域)
{
//使用反射获取属性
//如果属性值不同,我需要为其设置“字符串”值[不同]。
属性设置值(可比较对象,“[不同]”,空);
}
有可能吗?我认为不可能在运行时更改属性的类型。我知道,如果可能的话,这将是一个坏主意
最好使用另一个存储比较结果的字段。然后,当以后需要使用“[DIFFERENT]”值时,请检查存储结果的字段,并使用该字段。我认为不可能在运行时更改属性的类型。我知道,如果可能的话,这将是一个坏主意
最好使用另一个存储比较结果的字段。然后,当以后需要使用“[DIFFERENT]”值时,请检查存储结果的字段,并使用该字段。我认为不可能在运行时更改属性的类型。我知道,如果可能的话,这将是一个坏主意
最好使用另一个存储比较结果的字段。然后,当以后需要使用“[DIFFERENT]”值时,请检查存储结果的字段,并使用该字段。我认为不可能在运行时更改属性的类型。我知道,如果可能的话,这将是一个坏主意
最好使用另一个存储比较结果的字段。之后,当您需要使用“[不同]”值时,请检查存储结果的字段,并使用该字段。这根本不可能。属性
值
的类型在编译时设置为十进制
,在运行时无法更改。相反,您需要专注于将字符串
值转换为十进制
值。或者为Domain.Value
选择更合适的类型
如果您选择转换路线,那么我建议您考虑像这样的方法,这根本是不可能的。属性
值
的类型在编译时设置为十进制
,在运行时无法更改。相反,您需要专注于将字符串
值转换为十进制
值。或者为Domain.Value
选择更合适的类型
如果您选择转换路线,那么我建议您考虑像这样的方法,这根本是不可能的。属性
值
的类型在编译时设置为十进制
,在运行时无法更改。相反,您需要专注于将字符串
值转换为十进制
值。或者为Domain.Value
选择更合适的类型
如果您选择转换路线,那么我建议您考虑像这样的方法,这根本是不可能的。属性
值
的类型在编译时设置为十进制
,在运行时无法更改。相反,您需要专注于将字符串
值转换为十进制
值。或者为Domain.Value
选择更合适的类型
如果您选择转换路径,那么我建议您考虑类似的方法,这与类型安全语言正好相反。你不能那样做。这与类型安全语言完全相反。你不能那样做。这与类型安全语言完全相反。你不能那样做。这与类型安全语言完全相反。你不能那样做。亲爱的柯蒂斯,你介意为你的解决方案分享一段代码吗?我相信这将是最富有成效的。谢谢亲爱的柯蒂斯,你介意为你的解决方案分享一段代码吗?我相信这将是最富有成效的。谢谢亲爱的柯蒂斯,你介意为你的解决方案分享一段代码吗?我相信这将是最富有成效的。谢谢亲爱的柯蒂斯,你介意为你的解决方案分享一段代码吗?我相信这将是最富有成效的。非常感谢。