示例#1
0
        // 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"));
        }
示例#2
0
 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));
 }