文章预览
点击上方 蓝字 江湖评谈 设为关注/星标 前言 .NET9 PreView4 CLR里面添加了对于UnsafeAccessorAttribute特性泛型的支持。而对于UnsafeAccessorAttribute本身的支持则在.NET8里面。本篇看下Pre4里面的这个特性用法以及原理。 用法 来看看一个简单的例子: internal class Program { public class Class { private T _field; private void M (T t, U u) { Console.WriteLine(t);Console.WriteLine(u); } } class Accessors { [UnsafeAccessor(UnsafeAccessorKind.Field, Name = "_field" )] public extern static ref V GetSetPrivateField (Class c) ; [UnsafeAccessor(UnsafeAccessorKind.Method, Name = "M" )] public extern static void CallM (Class c, V v, W w); } public static void AccessGenericType (Class < int > c) {
………………………………