public void Cast()
        {
            dynamic mimic = new Mimic();

            int Int32 = mimic;
            double Double = mimic;
            float Float = mimic;
            object Object = mimic;
            Guid Guid = mimic;
            DateTime DateTime = mimic;
        }
示例#2
0
 /// <summary>
 /// Override on DynamicObject
 /// </summary>
 /// <param name="binder"></param>
 /// <param name="args"></param>
 /// <param name="result"></param>
 /// <returns></returns>
 public override bool TryInvokeMember(InvokeMemberBinder binder, object[] args, out object result)
 {
     result = new Mimic();
     return true;
 }
示例#3
0
 /// <summary>
 /// Override on DynamicObject
 /// </summary>
 /// <param name="binder"></param>
 /// <param name="result"></param>
 /// <returns></returns>
 public override bool TryGetMember(GetMemberBinder binder, out object result)
 {
     result = new Mimic();
     return(true);
 }
示例#4
0
 /// <summary>
 /// Override on DynamicObject
 /// </summary>
 /// <param name="binder"></param>
 /// <param name="indexes"></param>
 /// <param name="result"></param>
 /// <returns></returns>
 public override bool TryGetIndex(GetIndexBinder binder, object[] indexes, out object result)
 {
     result = new Mimic();
     return(true);
 }
示例#5
0
 /// <summary>
 /// Override on DynamicObject
 /// </summary>
 /// <param name="binder"></param>
 /// <param name="args"></param>
 /// <param name="result"></param>
 /// <returns></returns>
 public override bool TryCreateInstance(CreateInstanceBinder binder, object[] args, out object result)
 {
     result = new Mimic();
     return(true);
 }
示例#6
0
 /// <summary>
 /// Override on DynamicObject
 /// </summary>
 /// <param name="binder"></param>
 /// <param name="arg"></param>
 /// <param name="result"></param>
 /// <returns></returns>
 public override bool TryBinaryOperation(BinaryOperationBinder binder, object arg, out object result)
 {
     result = new Mimic();
     return(true);
 }
 public void Get_Property()
 {
     dynamic mimic = new Mimic();
     dynamic result = mimic.I.Can.Get.Any.Property.I.Want.And.It.Wont.Blow.Up;
 }
示例#8
0
 /// <summary>
 /// Override on DynamicObject
 /// </summary>
 /// <param name="binder"></param>
 /// <param name="indexes"></param>
 /// <param name="result"></param>
 /// <returns></returns>
 public override bool TryGetIndex(GetIndexBinder binder, object[] indexes, out object result)
 {
     result = new Mimic();
     return true;
 }
 public void Get_Index()
 {
     dynamic mimic = new Mimic();
     dynamic result = mimic["I"]["Can"]["Get"]["Indexes"]["All"]["Day"]["Like"]["It"]["Aint"]["No"]["Thang"];
 }
示例#10
0
 public void Set_Index()
 {
     dynamic mimic = new Mimic();
     mimic["I"]["Can"]["Set"]["Indexes"]["All"]["Day"]["Like"]["It"]["Aint"]["No"] = "Thang";
 }
示例#11
0
 public void Call_Method_With_Parameters()
 {
     dynamic mimic = new Mimic();
     dynamic result = mimic.I().Can().Call().Any().Method().I().Want().And().It().Wont().Blow().Up("And", "Any", "Parameter", "I", "Want", 1, 2, 3, 44.99m);
 }
示例#12
0
 public void Call_Method()
 {
     dynamic mimic = new Mimic();
     dynamic result = mimic.I.Can.Call.Any.Method.I.Want.And.It.Wont.Blow.Up();
 }
示例#13
0
 public void Set_Property()
 {
     dynamic mimic = new Mimic();
     dynamic result = mimic.I.Can.Set.Any.Property.I.Want.And.It.Wont.Blow = "Up";
 }
示例#14
0
 /// <summary>
 /// Override on DynamicObject
 /// </summary>
 /// <param name="binder"></param>
 /// <param name="arg"></param>
 /// <param name="result"></param>
 /// <returns></returns>
 public override bool TryBinaryOperation(BinaryOperationBinder binder, object arg, out object result)
 {
     result = new Mimic();
     return true;
 }
示例#15
0
        public void Unary()
        {
            dynamic mimic = new Mimic();
            dynamic result;

            result = !mimic;
            result = ++mimic;
            result = --mimic;
            result = mimic++;
            result = mimic--;
            result = mimic += 1;
            result = mimic -= 1;
            result = mimic /= 2;
            result = mimic *= 4;
            result = mimic ^= true;
            result = mimic |= true;
            result = mimic &= false;
            result = mimic %= 5;
        }
示例#16
0
 /// <summary>
 /// Override on DynamicObject
 /// </summary>
 /// <param name="binder"></param>
 /// <param name="args"></param>
 /// <param name="result"></param>
 /// <returns></returns>
 public override bool TryCreateInstance(CreateInstanceBinder binder, object[] args, out object result)
 {
     result = new Mimic();
     return true;
 }
示例#17
0
 /// <summary>
 /// Override on DynamicObject
 /// </summary>
 /// <param name="binder"></param>
 /// <param name="args"></param>
 /// <param name="result"></param>
 /// <returns></returns>
 public override bool TryInvokeMember(InvokeMemberBinder binder, object[] args, out object result)
 {
     result = new Mimic();
     return(true);
 }
示例#18
0
 /// <summary>
 /// Override on DynamicObject
 /// </summary>
 /// <param name="binder"></param>
 /// <param name="result"></param>
 /// <returns></returns>
 public override bool TryGetMember(GetMemberBinder binder, out object result)
 {
     result = new Mimic();
     return true;
 }
示例#19
0
        public void Binary()
        {
            dynamic thing1 = new Mimic();
            dynamic thing2 = new Mimic();
            dynamic result;

            result = thing1 + thing2;
            result = thing1 - thing2;
            result = thing1 / thing2;
            result = thing1 * thing2;
            result = thing1 | thing2;
            result = thing1 & thing2;
            result = thing1 ^ thing2;
            result = thing1 % thing2;
        }