Вот такой код в двух сборках.
ClassLibrary1:
[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("ConsoleApplication1")]
internal enum InternalEnum
{
}
ConsoleApplication1:
module Program
{
internal Foo(_ : InternalEnum) : void // <=== Error: Method `Foo' is more accessible than `InternalEnum'
{
}
}
Если у Foo область видимости private — то скомпилируется (это правильно). Если public или protected — то будет такая же ошибка компиляции (это тоже правильно). В случае internal я ожидаю, что тоже все скомпилируется, как это происходит в c#.
Пример на c#.
ClassLibrary1:
[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("ConsoleApplication1")]
internal enum InternalEnum
{
}
ConsoleApplication1:
public static class Program
{
internal static void Foo(InternalEnum arg)
{
}
}
Mumitroller
... << RSDN@Home 1.2.0 alpha 4 rev. 0>>