1.日期说法时区不同所取到的值也不同, 多个国的服务器要注意这个玩意

DateTime newDate = DateTime.Now;
Console.WriteLine(newDate.ToString());
Console.WriteLine(newDate.ToString(CultureInfo.InstalledUICulture));//根据当前操作系统,时区选择
Console.WriteLine(newDate.ToString("", CultureInfo.InvariantCulture));

2.代理方法, 参数函数化 , 哦原来这就是代理呀!

 class Program
{
Main方法
static void Main(string[] args)
{
@Class3 obj1 = new Class3();
var num1 = ;
var num2 = ;
var str = obj1.subFun(delegate (int aa)
{
return num1 + num2 + aa;
}); Console.WriteLine(str);
}
} public class @Class3
{ public string subFun(Func<int, int> funcName)
{
var aa = ;
int cc = funcName(aa);
return cc.ToString();
}
}

3.重写 重载 区别 重写什么类型,就走那个类的重写方法

 class Program
{
Main方法
static void Main(string[] args)
{
/**
* 重载 同类/子类中 override 同名不同参
* 重写 同类/子类中 new 同名同参
* 利用反射 可反射出父类子实现对象中子类中的 属性,方法
* **/ @Class1 obj = new @Class1();
obj.overrideFunc("@Class1");
obj.overrideFunc("", "");
Console.WriteLine(obj.message); @Class2 obj1 = new @Class2();
obj1.overrideFunc("@Class2");
obj1.overrideFunc("", "");
obj1.overrideFunc("", "", "");
Console.WriteLine(obj1.message1); @Class1 obj2 = new @Class2();
obj2.overrideFunc("@Class1:@Class2");
obj2.overrideFunc("", "");
Console.WriteLine(obj2.message);
Console.WriteLine(JsonConvert.SerializeObject(obj2)); Type typeObj = obj2.GetType();
PropertyInfo proObj = typeObj.GetProperty("message1");
Console.WriteLine(proObj.GetValue(obj2));
}
} public class @Class1
{
public string message { get; set; } = "@Class1";
public void overrideFunc(string message)
{
Console.WriteLine(message);
} public void overrideFunc(string message, string message2)
{
Console.WriteLine($"{message},{message2}我是被@Class1重载的");
}
} public class @Class2 : @Class1
{
public string message1 { get; set; } = "@Class2"; public new void overrideFunc(string message)
{
Console.WriteLine($"{message}我被重写过");
}
public void overrideFunc(string message, string message1, string message2)
{
Console.WriteLine($"{message},{message2},{message2}我是被@Class2重载的"); } }

4.枚举 使用 其实需要一个扩展方法,来 名称转值,值转名称的

EnumType enumObj = EnumType.类型1;
Console.WriteLine(EnumType.类型1);
Console.WriteLine((int)Enum.Parse(typeof(EnumType), "类型1", true));

C# 重载,重写,代理,枚举实例的更多相关文章

  1. java的多态以及重载,重写,前期绑定,后期绑定

    多态的定义: 一个类实例的相同方法在不同情形有不同表现形式.多态机制使具有不同内部结构的对象可以共享相同的外部接口.这意味着,虽然针对不同对象的具体操作不同,但通过一个公共的类,它们(那些操作)可以通 ...

  2. Java重载重写与实现方法的规则

    这几天在实训过程中做到了一个题,这个题目问的是 非抽象类实现接口后,必须实现接口中的所有抽象方法,除了abstract外,方法头必须完全一致.这句话是错误的.然后在做错以后自己总结一下重载 重写 和实 ...

  3. 重载重写重定义-易混淆概念-C++编译器处理方式

    1.函数重载 1)必须在同一个类中进行. 2)子类无法重载父类的函数,父类同名函数将被名称覆盖 3)重载是在编译期间根据参数类型和个数决定函数调用 2.函数重写 1)必须发生于父类与子类之间 2)并且 ...

  4. java代理模式实例讲解

    下面这个是设计模式课上的例子: import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import ...

  5. java 方法的重载重写

    面向对象有三大特性:封装,继承,多态 多态则需要满足三大条件1要有继承2要有重写3父类引用子类对象 很多人对方法的重载重写有很大疑问,下面我来介绍一下方法的重载重写 方法重载就是方法名称重复,加载参数 ...

  6. [Java]重载,重写以及继承,多态的区别

    转自:http://android.blog.51cto.com/268543/53181 什么是多态?它的实现机制是什么呢?重载和重写的区别在那里?这就是这一次我们要回顾的四个十分重要的概念:继承. ...

  7. spring-AOP-ProxyFactoryBean代理的实例

    1.一个代理模式的实例 通过 Proxy类进行代理 wait.java //定义一个接口 public interface wait { void say(); } //目标对象实现接口并重写方法 p ...

  8. 一个简单JDK动态代理的实例

    动态代理的步骤: 创建一个实现了InvocationHandler接口的类,必须重写接口里的invoke()方法. 创建被代理的类和接口 通过Proxy的静态方法 newProxyInsatance( ...

  9. 一个简单 JDK 动态代理的实例

    动态代理的步骤: 创建一个实现了 InvocationHandler 接口的类,必须重写接口里的 invoke()方法. 创建被代理的类和接口 通过 Proxy 的静态方法 newProxyInsat ...

随机推荐

  1. php手记之02-tp5请求参数读取三种方式

    01-[推荐方式] 当浏览器向Web服务器发出请求时,它向服务器传递了一个数据块,也就是请求信息.在Thinkphp5.1中,获取请求对象数据,是由think\Request类负责,在很多场合下并不需 ...

  2. mysql中的sql-mode导致的datetime类型字段不能为0000

    问题描述: 在执行建表语句的时候,出现invalid default datetime value '0000-00-00 00:00:00',从字面意思看,就是不合法的默认值'0000-00-00 ...

  3. Zend Studio汉化失败,如何给Zend Studio进行汉化

    首先,相信看我这篇博文的人也都遇到了和博主我一样的烦恼,就是汉化Zend Studio失败! 话不多说! 方案一,在线安装汉化包 Help–>Install New Software—>W ...

  4. Linux/CentOS下修改MAC地址

    Linux/CentOS下修改MAC地址 摘自:https://blog.csdn.net/qq_33233768/article/details/64906265 2017年03月22日 11:06 ...

  5. Spring MVC Action参数类型 List集合类型(简单案例)

    题目:定义一个员工实体(Employee),实现批量添加员工功能,在表单中可以一次添加多个员工,数据可以不持久化 1,新建一个项目 2, 然后选择Maven框架选择 maven-archetype-w ...

  6. [AI] 深度数学 - Bayes

    数学似宇宙,韭菜只关心其中实用的部分. scikit-learn (sklearn) 官方文档中文版 scikit-learn Machine Learning in Python 一个新颖的onli ...

  7. OpenStack Smaug项目简介

    1 项目简介 Smaug是一个OpenStack中提供应用数据保护服务的项目. 2 项目使命 在OpenStack中建立应用数据保护的标准和规范. 保护OpenStack中的任何资源以及资源的依赖项. ...

  8. Redis键通知机制

    Redis键通知机制 一.概念 自从redis2.8.0以后出了一个新特性,Keyspace Notifications 称为“键空间通知”. 这个特性大概是,凡是实现了Redis的Pub/Sub的客 ...

  9. activity 工作流

    https://blog.csdn.net/cs_hnu_scw/article/details/79059965 https://blog.csdn.net/xnf1991/article/deta ...

  10. AMD, CMD, CommonJS和UMD

    我的Github(https://github.com/tonyzheng1990/tonyzheng1990.github.io/issues),欢迎star 今天由于项目中引入的echarts的文 ...