zoukankan      html  css  js  c++  java
  • C# dynamic类型

    dynamic关键字可充当C#类型系统中的静态类型声明。这样,C#就获得了动态功能,同时仍然作为静态类型化语言而存在。

    Var与dynamic:

    var实际上编译器抛给我们的语法糖,一旦被编译,编译器就会自动匹配var变量的实际类型,并用实际类型来替换该变量的声明,等同于我们在编码时使用了实际类型声明。而dynamic被编译后是一个Object类型,编译器编译时不会对dynamic进行类型检查。

    dynamic与反射  

    以前我们这样使用反射: 

    public class DynamicSample
    {
    public string Name { getset; }
     
    public int Add(int a, int b)
    {
    return a + b;
    }
    }
    DynamicSample dynamicSample = new DynamicSample(); //create instance为了简化演示,我没有使用反射
    var addMethod = typeof(DynamicSample).GetMethod("Add");
    int re = (int)addMethod.Invoke(dynamicSample, new object[] { 1, 2 });

     现在,我们有了简化的写法:

    dynamic dynamicSample2 = new DynamicSample();
    int re2 = dynamicSample2.Add(1, 2);
  • 相关阅读:
    Servlet学习之http
    初识JDBC-篇四
    初识JDBC-篇三
    正则表达式简单应用3
    正则表达式简单应用2
    正则表达式简单应用1
    反射的简单应用三
    反射的简单应用2
    反射简单的应用
    TCP协议应用--上传文件
  • 原文地址:https://www.cnblogs.com/dcrenl/p/10514664.html
Copyright © 2011-2022 走看看