ExpandoObject与DynamicObject的使用
using ImpromptuInterface;
using System;
using System.Dynamic; namespace ConsoleApp2
{
class Program
{
static void Main(string[] args)
{
dynamic expando = new ExpandoObject();
expando.name = "cys";
expando.Add = new Func<int, int>(i=> { return i; });
var expando_result = expando.Add();
Console.WriteLine(expando.GetType().Name); dynamic dobject = new BB { name="aaa" };
var dobject_result = dobject.ADD();
dobject.Name = "cys";
Console.WriteLine(dobject.Name);
Console.WriteLine(dobject.GetType().Name);
}
}
public class BB : DynamicObject
{
public string name { get; set; }
public override bool TryInvokeMember(InvokeMemberBinder binder, object[] args, out object result)
{
result = "a";
return true;
}
public override bool TryGetMember(GetMemberBinder binder, out object result)
{
result = name;
return true;
}
public override bool TrySetMember(SetMemberBinder binder, object value)
{
name = value.ToString();
return true;
} } }
ExpandoObject与DynamicObject的使用的更多相关文章
- ExpandoObject,DynamicObject,DynamicMetaObject
ExpandoObject,DynamicObject,DynamicMetaObject 接上文:浅谈Dynamic关键字系列之三(上) 为什么TryXXX方法没有被调用?? 将DynamicPro ...
- ExpandoObject与DynamicObject的使用 RabbitMQ与.net core(一)安装 RabbitMQ与.net core(二)Producer与Exchange ASP.NET Core 2.1 : 十五.图解路由(2.1 or earler) .NET Core中的一个接口多种实现的依赖注入与动态选择看这篇就够了
ExpandoObject与DynamicObject的使用 using ImpromptuInterface; using System; using System.Dynamic; names ...
- 浅谈Dynamic 关键字系列之三(上):ExpandoObject, DynamicObject, DynamicMetaObject
http://www.cnblogs.com/LoveJenny/archive/2011/07/05/2098578.html ExpandoObject:表示一个对象,该对象包含可在运行时动态添加 ...
- DLR之 ExpandoObject和DynamicObject的使用演示样例
ExpandoObject :动态的增删一个对象的属性,在低层库(比如ORM)中非常实用.因为ExpandoObject实现了IDictionay<string, object>接口,常见 ...
- C#中的动态特性
众所周知,C#和Java一样,都是一门静态语言.在C# 4.0之前,想要和动态语言(诸如Python.Javascript等)进行方便地互操作是一件不太容易的事情.而C# 4.0为我们带来的dynam ...
- Working with the Dynamic Type in C#
Working with the Dynamic Type in C# https://www.red-gate.com/simple-talk/dotnet/c-programming/workin ...
- C# 中的动态类型
翻译自 Camilo Reyes 2018年10月15日的文章 <Working with the Dynamic Type in C#> [1] .NET 4 中引入了动态类型.动态对象 ...
- 【读书笔记】C#高级编程 第十二章 动态语言扩展
(一)DLR C#4的动态功能是Dynamic Language Runtime(动态语言运行时,DLR)的一部分.DLR是添加到CLR的一系列服务. (二)dynamic类型 dynamic类型允许 ...
- C#编程(七十二)----------DynamicObject和ExpandoObject
DynamicObject和ExpandoObject 1.ExpandoObject表示一个对象,该对象包含可在运行时动态添加和移除的成员.这个类和动态类型有关,这个类能做些什么? 案例: //Ex ...
随机推荐
- Linux获取当前时间
代码(可以把clock_gettime换成time(NULL)) void getNowTime() { timespec time; clock_gettime(CLOCK_REALTIME, &a ...
- pymysql模块用法
python关于mysql的API--pymysql模块 pymsql是Python中操作MySQL的模块,其使用方法和py2的MySQLdb几乎相同. 模块安装 1 pip install pymy ...
- java类过滤器,防止页面SQL注入
package com.tarena.dingdang.filter; import java.io.IOException; import java.util.Enumeration; import ...
- Debug时检测到Loaderlock的解决办法
昨天遇到了Loaderlock的问题. 出错信息为:检测到LoaderLock,正试图在OS加载程序锁内执行托管代码,不要尝试在DllMain或映像初始化函数内运行托管代码,这样会导致应用程序挂起. ...
- 宿主机为linux、windows分别实现VMware三种方式上网(转)
一.VMware三种方式工作原理1 Host-only连接方式 让虚机具有与宿主机不同的各自独立IP地址,但与宿主机位于不同网段,同时为宿主主机新增一个IP地址,且保证该IP地址与各虚机IP地址位于 ...
- Triangular numbers
http://codeforces.com/problemset/problem/47/A Triangular numbers time limit per test 2 seconds memor ...
- Android基础新手教程——1.6 .9(九妹)图片怎么玩
Android基础新手教程--1.6 .9(九妹)图片怎么玩 标签(空格分隔): Android基础新手教程 1.本节引言: 可能有的一些疑问: 1.什么是.9图片? 答:图片后缀名前有.9的图片,如 ...
- 2014年ENVI/IDL遥感应用与开发培训班-11月重庆站 開始报名了
主办单位: 中国遥感应用协会 Esri中国信息技术有限公司 内容简单介绍: 依据中国遥感应用协会栾恩杰理事长推动国内遥感技术和应用的指示精神,2014年中国遥感应用协会组织培训交流部与Esri中国信息 ...
- Mapnik读取PostGIS数据渲染图片
__author__ = 'Administrator' # encoding: utf-8 import sys import datetime import mapnik m = mapnik.M ...
- Postgresql监控pgwatch的搭建
一,需要环境: You will need a handful of components to make this work: - Apache (webserver) #apache搭建web页面 ...