随笔分类 - C#
摘要:最重要的是nameof不会影响性能! nameof有什么用?主要用解决 类成员名做参数替代成员们的字符串做参数,如下: using System; namespace csharp6 { internal class Program { private static void Main(string
阅读全文
摘要:Assembly属性的应用 //获取当前执行代码的程序集 Assembly assem = Assembly.GetExecutingAssembly(); Console.WriteLine($"程序集全名:{assem.FullName}" ); Console.WriteLine($"程序集的
阅读全文
摘要:BindingFlags 枚举用途:Type的类方法中,用于筛选成员。 type.InvokeMember方法中 type.GetConstructor 方法中 type.GetFiles方法中 type.GetMethod方法中 type.GetNestedType方法中 type.GetMemb
阅读全文
摘要:创建类的实例: //需要添加对Education.dll的引用才能正确执行 object CreateInstanceKind1 = Activator.CreateInstance("Education", "People.Person"); //不需要添加引用,因为已经传入路径参数,它默认在当前
阅读全文
摘要:Type属性的应用 Type type = typeof(MyClass); Console.Write("$类型名:{ type.Name}"); Console.Write("$类全名:{type.FullName}" ); Console.Write("$命名空间名:{ype.Namespac
阅读全文
摘要:原文:https://docs.microsoft.com/zh-cn/dotnet/core/dependency-loading/understanding-assemblyloadcontext AssemblyLoadContext 类是在 .NET Core 中引入的,在 .NET Fra
阅读全文
摘要:打开记事本,输入下面代码,然后把文件后缀改为.snippet 。然后通过vs2019 工具》代码段管理导入。 <?xml version="1.0" encoding="utf-8"?> <CodeSnippets xmlns="http://schemas.microsoft.com/Visual
阅读全文
摘要:微软官方教程:https://docs.microsoft.com/zh-cn/dotnet/framework/reflection-and-codedom/viewing-type-information 元編程(英語:Metaprogramming),又譯超編程,是指某类计算机程序的编写,这类
阅读全文
摘要:特性应用 取得枚举类型的注释 平时开发时,经常会用到枚举类型及其相关判断,而有时我们想显示枚举类型的注释,怎么办?下面用特性来解决这个问题。 namespace AttributeDemo.CustomAttributes { public class RemarkAttribute : Attri
阅读全文
摘要:msdn:https://docs.microsoft.com/zh-cn/dotnet/csharp/programming-guide/concepts/attributes/creating-custom-attributes 目录: Attribute与Property 的翻译区别Attri
阅读全文
摘要:如何用CSC.exe来编译Visual C#的代码文件 Visual C#是微软公司推出的新一代程序开发语言,Visual C#是微软公司.Net FrameWork框架中的一个重要的组成部分,也是微软公司向程序员极力推荐一个新的程序开发平台。和以往的开发语言相比较,他有更强大功能,更高的稳定性和更
阅读全文
摘要:元数据是指“描述资料的资料”。它被用来概述资料的基础信息,以简化查找过程与方便使用[6]。 创建资料的方法 资料的用途 创建的时间与日期 资料的创建者或作者 资料被创建在电脑网络的何处 用作标准 文件大小 例如 图像:一个数字图像文件可能会包括描述图片大小、色彩深度、图片分辨率、图片创建时间、快门速
阅读全文
摘要:public static class CodeTimer { public static void Initialize() { Process.GetCurrentProcess().PriorityClass = ProcessPriorityClass.High; Thread.Curren
阅读全文
摘要:前言 为了让C#、Visual Basic等.NET编程语言能具备动态编程语言的特性,.NET 4.0引入了一个“DLR(Dynamic Language Runtime:动态语言运行时)”(图 3)。 DLR运行于CLR之上,提供了一个动态语言的运行环境,从而允许Python、Ruby等动态语言编
阅读全文
摘要:前言(Preamble) 在理解多态之前先理解设计原则(Solid)中里氏替换原则 里氏替换原则(Liskov Substitution Principle):派生类(子类)对象能够替换其基类(超类)对象被使用。通俗一点的理解就是“子类是父类”,举个例子,“男人是人,人不一定是男人”,当需要一个父类
阅读全文
摘要:编译时 应用:const、运算符重载、函数重载、类型 工作内容:编译时类型检查(赋值检测)、语法分析、词法分析 静态多态:特色多态(重载、运算符重载) call调用虚方法的情况 1、call:可调用 静态方法、实例方法、虚方法。call假定该变量不为null 2、call常用于调用值类型的方法或密封
阅读全文
摘要:一、动态类型其实是动态编译的一种形式。在.net4.0上添加新的动态类型dynamic,对于动态类型,就是在运行时才会确定的类型。 1.dynamic关键字的使用 1)使用var可以定义本地变量,该变量的实际数据类型取决于编译时,是在初次分配时确定的,在初次分配后,将拥有一个强类型的变量,任何不相容
阅读全文
摘要:typeof 运算符也能用于公开的泛型类型。具有不止一个类型参数的类型的规范中必须有适当数量的逗号。不能重载 typeof 运算符。 is 可以检测和父类是否兼容,typeof责不能 public class Animal { } public class Giraffe : Animal { }
阅读全文
摘要:以下都是反射在表达式树中的应用 对象初始化 Expression.MemberInit 反射获取成员(字段 或者属性),绑定数据,然后生成 成员表达式节点 class Animal { public string Species { get; set; } public int Age; } pub
阅读全文