随笔分类 -  C#

C#语法
摘要:一、问题引入 最近接手的项目需要不打开Revit的情况下读取RVT文件,并且要支持多版本的功能,拿到一个revit的.rvt文件,需要判断一下该文件是由哪个Revit版本创建的。然后根据这个判定执行不同的逻辑。最简单的应用就是,选择合适的revit版本打开revit文件。 二、探索 1、解析.rvt 阅读全文
posted @ 2021-08-11 15:15 LagoOrLY 阅读(1972) 评论(0) 推荐(1)
摘要:类在初始化时的执行顺序,依次如下: 1: 子类静态变量 2: 子类静态构造函数 3: 子类非静态变量 4: 父类静态变量 5: 父类静态构造函数 6: 父类非静态变量 7: 父类构造函数 8: 子类构造函数 对于静态变量与静态构造函数而言, 无论对一个类创建多少个实例,它的静态成员都只有一个副本。 阅读全文
posted @ 2019-04-25 11:23 LagoOrLY 阅读(209) 评论(0) 推荐(0)
摘要:一、继承 什么是继承:继承是允许重用现有类去创建新类的过程。分类的原则是一个类派生出来的子类具有这个类的所有非私有的属性。1、继承C#中的类:C#不支持多重继承,C#类始终继承自一个基类(如果未在声明中指定一个基类,则继承自System.Object)。派生类继承基类的语法如下:using Syst 阅读全文
posted @ 2019-04-25 10:44 LagoOrLY 阅读(158) 评论(0) 推荐(0)
摘要:Revit共享参数是通过创建一个.txt类型的文件来保存相关信息,一旦与项目保存完毕之后,共享参数也就变成了项目参数(项目参数无法通过API创建),项目参数是保存在Revit项目里面的,所以此时这个.txt文件是可以删除的。 阅读全文
posted @ 2019-04-17 14:36 LagoOrLY 阅读(933) 评论(0) 推荐(0)
摘要:修饰符用于声明在外部实现的方法。extern 修饰符的常见用法是在使用 Interop 服务调入非托管代码时与 DllImport 属性一起使用;在这种情况下,该方法还必须声明为 static,声明后的方法可以直接使用,如下面的示例所示: [DllImport("avifil32.dll")] pr 阅读全文
posted @ 2019-03-22 09:30 LagoOrLY 阅读(419) 评论(0) 推荐(0)
摘要:一、继承 什么是继承:继承是允许重用现有类去创建新类的过程。分类的原则是一个类派生出来的子类具有这个类的所有非私有的属性。1、继承C#中的类:C#不支持多重继承,C#类始终继承自一个基类(如果未在声明中指定一个基类,则继承自System.Object)。 派生类继承基类的语法如下: 1 using 阅读全文
posted @ 2019-01-25 10:09 LagoOrLY 阅读(1617) 评论(0) 推荐(0)
摘要:C#静态方法与非静态方法的区别不仅仅是概念上的,那么他们有什么具体的区别呢?让我们通过本文向你做一下解析。 C#的类中可以包含两种方法:C#静态方法与非静态方法。那么他们的定义有什么不同呢?他们在使用上会有什么不同呢? 让我们来看看最直观的差别:使用了static 修饰符的方法为静态方法,反之则是非 阅读全文
posted @ 2019-01-25 10:02 LagoOrLY 阅读(176) 评论(0) 推荐(0)
摘要:CultureInfo类位于System.Globalization命名空间内,这个类和命名空间许多人都不是很熟悉,实际我们在写程序写都经常间接性的接触这个类,当进行数字,日期时间,字符串匹配时,都会进行CultureInfo的操作,也就是说,也就是不同的CultureInfo下,这些操作的结果可能 阅读全文
posted @ 2019-01-24 10:53 LagoOrLY 阅读(1539) 评论(0) 推荐(0)
摘要:??操作符:叫做空合并操作符,它会对左右两个操作数进行判断,如果左边的数不为空,就返回左边的数,否则返回右边的数。 ?操作符:语法糖,表示可空类型,可空类型也是值类型,它是包含null值的值类型,可通过HasValue属性来判断可空类型是否有值,可通过GetValueDefault()方法来返回默认 阅读全文
posted @ 2019-01-24 09:08 LagoOrLY 阅读(1142) 评论(0) 推荐(0)
摘要:public 公有访问。不受任何限制。private 私有访问。只限于本类成员访问,子类,实例都不能访问。protected 保护访问。只限于本类和子类访问,实例不能访问。internal 内部访问。只限于本项目(程序集)内访问,其他不能访问。protected internal 内部保护访问。只限 阅读全文
posted @ 2019-01-24 08:55 LagoOrLY 阅读(2623) 评论(0) 推荐(0)
摘要:Int16 相当于 short 占2个字节 -32768 ~ 32767 Int32 相当于 int 占4个字节 -2147483648 ~ 2147483647 Int64 相当于 long 占8个字节 -9223372036854775808 ~ 9223372036854775807 Byte 阅读全文
posted @ 2019-01-23 10:02 LagoOrLY 阅读(2026) 评论(0) 推荐(0)
摘要:C# 托管资源与非托管资源 在.net 编程环境中,系统的资源分为托管资源和非托管资源。 托管资源: Net平台中,CLR为程序员提供了一种很好的内存管理机制,使得程序员在编写代码时不要显式的去释放自己使用的内存资源(这些在先前C和C++中是需要程序员自己去显式的释放的)。这种管理机制称为GC(ga 阅读全文
posted @ 2019-01-23 09:58 LagoOrLY 阅读(160) 评论(0) 推荐(0)
摘要:一、多线程不安全方式实现 sealed表示SingleInstance不能被继承。其实构造函数私有化已经达到了这个效果,私有的构造函数不能被继承。为了可读性,可以加个sealed。私有化构造函数的另一个作用是让当前类不能被实例化,只能通过成员方法获取到类的实例。 不安全的单例指的是在多线程环境下可能 阅读全文
posted @ 2019-01-22 10:39 LagoOrLY 阅读(795) 评论(0) 推荐(0)
摘要:约束 说明 T:结构 类型参数必须是值类型。 T:类 类型参数必须是引用类型;这一点也适用于任何类、接口、委托或数组类型。 T:new() 类型参数必须具有无参数的公共构造函数。 当与其他约束一起使用时,new() 约束必须最后指定。 T:<基类名> 类型参数必须是指定的基类或派生自指定的基类。 T 阅读全文
posted @ 2018-12-21 15:05 LagoOrLY 阅读(166) 评论(0) 推荐(0)