所谓静态类型即类型指针或引用的字面类型:而动态类型即类型指针或引用的实际类型. 这一对概念一般发生在基类和派生类之间. 如: class Base { ..... } class Derived : public Base { ..... } Base *sbp = new Base; //静态类型与动态类型都是Base* Base *dbp = new Derived; //静态类型为Base*,动态类型为Derived* 对引用也如此. 显然,动态类型的概念是理解c++OOP多态概念的关键.…
本文是要写的下篇<C#反射及优化用法>的前奏,不能算是下一篇文章的基础的基础吧,有兴趣的朋友可以关注一下. 随着C#的发展,该语音内容不断丰富,开发变得更加方便快捷,C# 的锋利尽显无疑.C# 语言从诞生起就是强类型语音,这一性质到今天不曾改变,我想以后也不会变.既然是强类型语音,那编写任一程序均要求满足下面的基本条件: 1.变量声明必须指明其类型 2.变量类型明确后,其类型在Runtime亦不能改变 代码如下: public class Student { public string Nam…
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Newtonsoft.Json; using System.ComponentModel; namespace var_dynamic { class Program { //var stradsa = "asdasdas"; //报错 stat…
原文:利用dynamic解决匿名对象不能赋值的问题 关于匿名对象 匿名对象是.Net Framework 3.0提供的新类型,例如: }; 就是一个匿名类,搭配Linq,可以很灵活的在代码中组合数据,例如: var r = from p in DbContext.Actions select new { A = p.Name, B = p.Text }; 特殊需求:给匿名对象属性赋值 但有时候会有一些特殊的要求,需要给获取的匿名对象的某些属性进行赋值,例如如下的代码: //根据上例使用L…