unit u1;
interface
type
t2 = partial class end;
t1 = partial class
public next: t2;
end;
implementation
uses u2;
end.
unit u2;
interface
type
t1 = partial class end;
t2 = partial class
// public next: t1; // если раскомментировать - t2 вообще перестаёт существовать
end;
implementation
uses u1;
end.
И t1 и t2 добавляет по 2 раза, причём у дубля t1 нету ни 1 поля.
Есть ли смысл заливать в issue, или пока рано partial классы насиловать?
Так-то это и не должно работать. Все части partial-класса должны находиться в одном пространстве имён.
using System;
namespace ConsoleApp1
{
namespace A
{
partial class Class1
{
}
}
namespace B
{
partial class Class1
{
}
}
public static class Program
{
public static void Main()
{
Console.WriteLine(typeof(A.Class1).GetHashCode() == typeof(B.Class1).GetHashCode());
Console.ReadKey();
}
}
}
В модулях кстати надо это осмыслить. С одной стороны модули - это разные пространства имен. С другой - partial классы нами создавались для дизайнера объектов чтобы действовать в разных модулях.