// Perform a late bound call. public static Object CallByName (Object ObjectRef, String ProcName, CallType UseCallType, Object[] Args) { switch (UseCallType) { case CallType.Method: { return(LateBinding.LateCallWithResult (ObjectRef, null, ProcName, Args, null, null)); } // Not reached. case CallType.Get: { return(LateBinding.LateGet (ObjectRef, null, ProcName, Args, null, null)); } // Not reached. case CallType.Set: case CallType.Let: { LateBinding.LateSet (ObjectRef, null, ProcName, Args, null); return(null); } // Not reached. } throw new ArgumentException(S._("VB_InvalidCallType")); }
public void LateSet(object obj, Type objType, string name, object[] args, string[] paramNames, Func <object, object> getResult, object expected) { LateBinding.LateSet(obj, objType, name, args, paramNames); Assert.Equal(expected, getResult(obj)); }