我正在尝试检查webcontrol是否支持特定属性(尽管它可以是任何对象) - 如果是,我想检查是否存在值 - 如果存在值,我想什么也不做,否则我' ll用给定的值更新它。
这是我的代码:
public static void SetProperty(this object @this, string name, object value)
{
var p = @this.GetType().GetProperty(name);
if (p != null)
{
var v = p.GetValue(@this, null);
if(v == null) p.SetValue(@this, value, null);
}
}
问题是v永远不会为NULL,但它似乎也没有包含值,这让我感到困惑。如果我删除了if(v == null)它可以工作,但是没有更新。
我正在测试超链接Text和NavigateUrl属性。
任何帮助表示感谢。