Почему IDE0007 и IDE0008 заменяются между .NET 6.0 и .NET 8.0?C#

Место общения программистов C#
Ответить
Anonymous
 Почему IDE0007 и IDE0008 заменяются между .NET 6.0 и .NET 8.0?

Сообщение Anonymous »

Этот проект предназначен как .NET 6.0, так и .NET 8.0, один из которых не любит var , а другой - это. Как это имеет смысл? < /P>
protected static int PartialSerialize(int size, int offset, T data, byte[] buffer)
{
IntPtr ptr = Marshal.AllocHGlobal(size); //IDE0007 (.NET 6.0)
Marshal.StructureToPtr(data!, ptr, false);
Marshal.Copy(ptr, buffer, offset, size);
Marshal.FreeHGlobal(ptr);
return offset + size;
}

protected static T? PartialDeserialize(int size, ref int offset, byte[] buffer)
{
var ptr = Marshal.AllocHGlobal(size); //IDE0008 (.NET 8.0)
Marshal.Copy(buffer, offset, ptr, size);
var t = (T?)Marshal.PtrToStructure(ptr, typeof(T));
Marshal.FreeHGlobal(ptr);
offset += size;
return t;
}


Подробнее здесь: https://stackoverflow.com/questions/794 ... nd-net-8-0
Ответить

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

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

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

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

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