【发布时间】:2010-12-20 15:04:27
【问题描述】:
我想打电话给例如TryDo.Do(MessageBox.Show(""), null);
我该怎么做??
using System;
namespace TryCatchHandlers
{
public static class TryDo
{
public static CallResult Do(Delegate action, params object[] args)
{
try
{
return new CallResult (action.DynamicInvoke(args), action.Method.ReturnType, true);
}
catch
{
return new CallResult(null, null, false);
}
}
}
public class CallResult
{
public CallResult() { }
internal CallResult(object result, Type resultType, bool isSuccessful)
{
Result = result;
ResultType = resultType;
IsSuccessful = isSuccessful;
}
public object Result { get; private set; }
public Type ResultType { get; private set; }
public bool IsSuccessful { get; private set; }
}
}
【问题讨论】:
-
DynamicInvoke很慢。 -
@slaks:我可以用什么代替?