Note
If a matching method could be found and the invocation itself has thrown an exception, then this method also throws an exception instead of returning .
public static bool TryInvokeMethod(
Object instance,
string methodName,
bool ignoreCase,
out Object?? result,
params Object?[]? parameters
)
Public Shared Function TryInvokeMethod (
instance As Object,
methodName As String,
ignoreCase As Boolean,
<OutAttribute> ByRef result As Object,
ParamArray parameters As Object()
) As Boolean
public:
static bool TryInvokeMethod(
Object^ instance,
String^ methodName,
bool ignoreCase,
[OutAttribute] Object^% result,
... array<Object^>^ parameters
)
static member TryInvokeMethod :
instance : Object *
methodName : string *
ignoreCase : bool *
result : Object byref *
parameters : Object[] -> bool
methodName can refer public and non-public methods. To avoid ambiguity this method gets all of the methods of the same name and chooses the first one for which the provided parameters match.
If you already have a MethodInfo instance use the InvokeMethod(Object, MethodInfo, Type, ReflectionWays, Object) method for better performance.
For invoking the method this method uses the DynamicDelegate reflection way, except when the .NET Standard 2.0 version of the KGySoft.CoreLibraries assembly is referenced and the method belongs to a value type (struct) or has ref/out parameters, in which case the SystemReflection way will be used.