Просто любопытно, меняет ли размер типа struct/value разрывное изменение в С#? Структуры, как правило, более чувствительны в плане памяти, так как их изменение напрямую влияет на размер массивов/других структур. Существуют ли какие-либо примеры кода, который разбивается, как двоично-мудрый, так и исходный, после изменения структуры структуры в используемой библиотеке?
ПРИМЕЧАНИЕ. Под "breaks" я подразумеваю, что он вообще не компилируется, или IL недействителен. Так, например, я бы не стал рассматривать это нарушение:
// My.Library v1
public struct MyStruct {}
// My.Library v2
public struct MyStruct { int _field; }
// App code
using My.Library;
using System.Runtime.InteropServices;
Console.WriteLine(Marshal.SizeOf<MyStruct>()); // before printed 1, now prints 4
поскольку он все еще работает.