专栏名称: dotNET跨平台
专注于.NET Core的技术传播。在这里你可以谈微软.NET,Mono的跨平台开发技术。在这里可以让你的.NET项目有新的思路,不局限于微软的技术栈,横跨Windows,Linux 主流平台
今天看啥  ›  专栏  ›  dotNET跨平台

.NET9 Pre4 UnsafeAccessor泛型

dotNET跨平台  · 公众号  ·  · 2024-05-23 08:00
    

文章预览

点击上方 蓝字 江湖评谈 设为关注/星标 前言 .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)      {       ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览