Метод вызова .NET 8 RC1 с выдачей UnsafeAccessorAttribute Внутренняя ошибка CLRC#

Место общения программистов C#
Ответить
Anonymous
 Метод вызова .NET 8 RC1 с выдачей UnsafeAccessorAttribute Внутренняя ошибка CLR

Сообщение Anonymous »

Я тестирую новую функцию .NET 8 для доступа к частному полю. Вот код и настройки проекта:

Код: Выделить всё

using System;
using System.Runtime.CompilerServices;

var t = new Test();
var size = Caller.GetSize(t);

Console.WriteLine(size);

public class Caller
{
[UnsafeAccessor(UnsafeAccessorKind.Field, Name = "_size")]
public static extern int GetSize(Test c);
}

public class Test
{
private int _size = 4;
}

Код: Выделить всё



Exe
net8.0



Но это вызывает исключение:

Код: Выделить всё

Fatal error. Internal CLR error. (0x80131506)
at Caller.GetSize(Test)
at Program.$(System.String[])
MSBuild 17
Есть идеи?
Я ожидал вывода на консоль: 4

Подробнее здесь: https://stackoverflow.com/questions/772 ... -clr-error
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»