【发布时间】:2010-10-04 21:16:58
【问题描述】:
我正在尝试编写一个表达式,该表达式将在属性上调用 ToString 并将其值分配给局部变量。但是,在带有 ToString 重载的对象实例上调用 ToString 会导致抛出“发现歧义匹配”异常。这是一个例子:
var result = Expression.Variable(typeof(string), "result");
var matchTypeParameter = Expression.Parameter(typeof(MatchType), "matchType");
var targetProperty = Expression.Property(leadParameter, target);
var exp = Expression.Block(
//Add the local current value variable
new[] { result },
//Get the target value
Expression.Assign(result, Expression.Call(targetProperty, typeof(string).GetMethod("ToString"), null))
);
如果实例有重载,我如何调用 ToString?谢谢!
【问题讨论】: