猿问

C# attribute 如何获取当前对象实例?

C# attribute 如何获取当前对象实例


长风秋雁
浏览 2592回答 4
4回答

达令说

无法。比如你定义一个类,一个特性,然后把特性加到类上面。元数据是编译在类里面,而不是在属性里面。所以特性里面不包含类的信息。一般都是从类里面遍历特性。

扬帆大鱼

C#提供了两个获取大小的方法:1.使用sizeof运算符。但sizeof只有对int,byte等预定义值类型有效。2.使用System.Runtime.InteropServices.Marshal.SizeOf静态方法。此方法对任何值类型的实例有效。除此之外,引用类型的内存是分配在堆上面的,不管是C,C++还是C#,好像都只能在堆上面实例化对象,删除对象。尤其是C#,连实例化/删除对象都有人代劳了。如果你在堆上有你需要的信息,并且要把这段信息写入到磁盘等设备时,这时你需要对这个对象进行拆箱处理。这时你才获取到你拆箱后的对象实例的大小。
随时随地看视频慕课网APP
我要回答