zoukankan      html  css  js  c++  java
  • 匿名类型和动态类型

    匿名类型的变量必须的声名的时候初始化,intellisense会直接显示其成员。

    动态类型可以先声名,后初始化,intellisense不会显示其成员。

    动态类型声名的引用可以指向匿名类型对象,匿名类型可以包含动态类型成员,这些都无碍。

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace ConsoleApplication2
    {
        class Program
        {
            static bool flag = false;
            static dynamic GetValue()
            {
                flag = !flag;
                if (flag)
                    return new MyClass1();
                else
                    return new MyClass2();
            }
    
            static void Main(string[] args)
            {
                try
                {
                    dynamic myObject1 = GetValue();
                    dynamic myObject2 = GetValue();
    
                    myObject1.ShowMessage();
                    //myObject2.ShowMessage();
    
                    var anonymousObject1 = new { name = "Jean", age = 24 };
                    dynamic dynamicObject3 = anonymousObject1;
                    Console.WriteLine(dynamicObject3.name);
    
                    var anonymousObject2 = new { name = "Diablo", o = GetValue() };
                    anonymousObject2.o.ShowMessage();
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.GetType().ToString());
                }
                Console.Read();
            }
        }
    
        class MyClass1
        {
            public void ShowMessage()
            {
                Console.WriteLine("Invoke success!");
            }
        }
    
        class MyClass2
        {
            
        }
    
    
    }
  • 相关阅读:
    JAVA日常之三
    java将字符串存入oracle的Blob中
    java连接oracle数据库
    JAVA日常之二
    JAVA日常之一
    linux日常命令之三
    linux日常命令之二
    linux日常命令之一
    Python之路【第四十篇】:django日更
    Python之路【第三十九篇】:django日更
  • 原文地址:https://www.cnblogs.com/JingG/p/2888169.html
Copyright © 2011-2022 走看看