C# return dynamic/anonymous type value as function result

 

 

 

 

 

function:

   public static dynamic GetAppSecret()
        {
            //string[] result = new string[] { "", "" };
            dynamic result = new System.Dynamic.ExpandoObject();

            result = new { appid="appid", appSecret = "appSecret" };

            return result;
        }

if you want to use the dynamic result function in a difference assembly, you should add following code to assemblyInfo.cs

[assembly: InternalsVisibleTo("WeChatSchools")]

 

 

 

invoke:

var secret = Helper.GetAppSecret();
app.t_appid = secret.appid;
app.t_appkey = secret.appSecret;

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/zyip/p/3643447.html

相关推荐

使用 C# 中的 dynamic 关键字调用类型方法时可能遇到的各种问题

你可以使用 dynamic 来定义一个变量或者字段,随后你可以像弱类型语言一样调用这个实例的各种方法,就像你一开始就知道这个类型的所有属性和方法一样。 但是,使用不当又会遇到各种问题,本文收集使用过程中可能会遇到的各种问题,帮助你解决掉它们。 本文内容快速入门编译错误:缺少编译器要求的成员对于 .NET Core 或者 .NET Standard 项目对于 .NET Framework 项目异常...

walterlv - 吕毅 3501

探究 C# dynamic动态类型本质

前言在做接口动态传参的时候思考了个问题:如何把一个json字符串,转成C#动态类?比如由{ 'userId':100, 'id':1, 'title':'helloworld', 'completed':false }生成dynamicobj=new { userId=100, id=1, title="hello...

weixin_68436326的博客 200

C#中的动态类型(Dynamic)

一、动态类型简介 .NET 4 中引入了动态类型。动态对象(dynamic)使您可以处理诸如 JSON 文档之类的结构内容,这些结构的组成可能要到运行时才能知道【该类型是一种静态类型,但类型为dynamic的对象会跳过静态类型检查。 大多数情况下,该对象就像具有类型object一样。 在编译时,将假定类型化为dynamic的元素支持任何操作。 因此,不必考虑对象是从 COM API、从动态语言(例如 IronPython)、从 HTML 文档对象模型 (DOM)、从反射还是从程序中...

提供C#相关开发 、云计算、运维测试、网络安全相关技术分享与服务,有意向可联系。 1万+

System.Dynamic.ExpandoObject的使用说明

​ 该ExpandoObject类实现标准动态语言运行时 (DLR) 接口IDynamicMetaObjectProvider,使你可以在支持 DLR 互操作性模型的语言之间共享类的ExpandoObject实例。

橙-极纪元-JJYCheng 1378

C# 4.0 特性: dynamic 和 ExpandoObject

C# 4.0引入了一个新类型:dynamic,简单来说,任何直接声明为这种类型的变量,或者从函数中返回这种类型的值,都将自动地视为后期绑定。即在运行时才会被初始化绑定。这类似于在Visual Basic中把变量声明为“object”,不过它现在可以支持任何类型系统了,不仅仅是CTS(通用类型规范)和COM。 C# 4.0 的主打特性就是动态类型。也就在这里体现。 在 New features

蝈蝈俊.net 4931

.Net 4.0 之 Dynamic 动态类型

        本文主要旨在与网友分享.Net4.0的Dynamic 对Duck Type 的支持。       一、.net4.0主要新特性         .Net4.0在.Net3.5基础上新增的主要特性有:可选参数、命名参数和Dynamic。具体请阅生鱼片的这篇博文。这里我们着重讲解C#4.0的Dynamic特性,对于其他特性大家可以在VS2010内尝试一下。总之.Net在不断进...

weixin_34309543的博客 251

C#基础】Dynamic类型和正确用法

前言 Dynamic类型是C#4.0中引入的新类型,它允许其操作掠过编译器类型检查,而在运行时处理。 编程语言有时可以划分为静态类型化语言和动态类型化语言。C#和Java经常被认为是静态化类型的语言,而Python、Ruby和JavaScript是动态类型语言。一般而言,动态语言在编译时不会对类型进行检查,而是在运行时识别对象的类型。这种方法有利有弊:代码编写起来更快、更容易,但无法获取编译器错误,只能通过单元测试和其他方法来确保应用正常运行。C#最初是作为纯静态语言创建的,但是C#4添加了一些动态元素,用

混迹自留地 6910

探寻C# 4.0新特性之dynamic关键字

Visual Studio2010 beta2就要发布了,这两天抽空看了下C#新增的功能。其中一个很重要的就是对动态语言的支持,在.Net framework 4.0里C#可以和一些建立在CLR基础上的动态语言譬如Iron Python有很方便的互操作。在语言层面,C#引进了新的关键字:dynamic. 可以先看一段程序:    class Program    {    

德斯的技术空间 648

.Net 之匿名类(AnonymousType)(转载)

一、.NET 3.0时代开始引入匿名类概念 .NET3.0 时,微软加入了匿名类到.net 中。javascript 程序员对匿名类并不陌生。但是对于当时的.NET程序员而言,应该属于一个新鲜事物。.NET匿名类可以让我们实例化对象而不需要为该对象定义类。如何理解“实例化对象而不需要为该对象定义类”,还是用代码来解释吧: view sourceprint?1private s...

weixin_30236595的博客 484

C#WebService返回dynamic类型报错问题

C#WebService返回dynamic类型报错问题 类型 System.XXXX[] 不能在此上下文中使用。

李文明的专栏 1545

c# dynamic动态类型和匿名类

dynamic类型 简单示例 dynamic expando = new System.Dynamic.ExpandoObject(); //动态类型字段 可读可写 expando.Id = 1; expando.Name = "Test"; string json = Utils.ConvertJson.JsonEncode(...

weixin_30888027的博客 284

C# 动态对象(dynamic)的用法

说到正确用法,那么首先应该指出一个错误用法: 常有人会拿var这个关键字来和dynamic做比较。实际上,var和dynamic完全是两个概念,根本不应该放在一起做比较。var实际上是编译期抛给我们的“语法糖”,一旦被编译,编译期会自动匹配var 变量的实际类型,并用实际类型来替换该变量的申明,这看上去就好像我们在编码的时候是用实际类型进行申明的。而dynamic被编译后,实际是一个obje

在学习的路上…… 7248

聊聊 C# dynamic 类型,并分享一个将 dynamic 类型变量转为其它类型的技巧和实例

dynamic 类型在某些特定场景下能够提供方便和灵活性,但在使用时应慎重考虑其影响,避免在不必要的情况下使用,只在确实需要动态类型绑定的情况下使用,最好地发挥 dynamic 类型的作用

yangshuquan的专栏 1314

C#学习笔记(三)—–C#高级特性:dynamic

C#高级特性:动态绑定动态绑定 动态绑定将类型绑定(类型解析、成员和操作过程)从编译时推迟到了运行时。在编译时,如果程序员知道某个特定函数、成员的存在而编译器不知道,那么这种操作是非常有用的,这种情况通常出现在操作动态语言和COM,如果不适用动态绑定,就只能使用反射(reflection)机制。 动态类型是通过dynamic关键字声明的: dynamic d = GetSomeObject(); d

瓦力的博客 9414

C# 匿名对象(匿名类型)、var、动态类型 dynamic

本文是要写的下篇《C#反射及优化用法》的前奏,不能算是下一篇文章的基础的基础吧,有兴趣的朋友请关注一下我的blog,这也有助于提高本人写作的动力。 随着C#的发展,该语言内容不断丰富,开发变得更加方便快捷,C# 的锋利尽显无疑。C# 语言从诞生起就是强类型语言,这一性质到今天不曾改变,我想以后也不会变。既然是强类型语言,那编写任一程序均要求满足下面的基本条件: 1、变量声明必须指明其类型 2、变量类型明确后,其类型在Runtime亦不能改变 代码如下: public class S

dreamgis的专栏 1564

Var与Dynamic的区别

1.var与dynamic的区别   C#中的很多关键词用法比较容易混淆,var和dynamic就是其中一组,但其实它们是有本质的区别的。var 在编译阶段已经确定类型,在初始化时候,必须提供初始化的值,而dynamic则可以不提供,它是在运行时才确定类型。 1 static void Main(string[] args) 2 { 3 //var...

932
上一篇: Entity Framework: 视图查询时重复返回第一行值, duplicate frst rows in resultset from a view...
下一篇: 数据库应该使用异步吗 Should my database calls be Asynchronous?
adtrpsn16779
博客等级 码龄10年 2粉丝 235原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值