Можно ли использовать InternalsVisibleToAttribute, чтобы сделать внутренние классы видимыми для зеркальных сборок, чтобы они могли получить доступ к моим пользовательским типам данных и сериализаторам?
Я пробовал вот что:
Код: Выделить всё
[assembly:InternalsVisibleTo("Mirror")]
[assembly:InternalsVisibleTo("Mirror.Authenticators")]
[assembly:InternalsVisibleTo("Mirror.CompilerSymbols")]
[assembly:InternalsVisibleTo("Mirror.Components")]
[assembly:InternalsVisibleTo("Mirror.Editor")]
[assembly:InternalsVisibleTo("Mirror.Transports")]
[assembly:InternalsVisibleTo("Unity.Mirror.CodeGen")]
namespace MyNamespace.InternalStuff
{
[Serializable]
internal class MyInternalClass
{ \\ ...
Код: Выделить всё
MethodAccessException: Method `MyNamespace.InternalStuff. MyInternalClassSerializer.WriteItem(
Mirror.NetworkWriter,MyNamespace.InternalStuff.MyInternalClass)'
is inaccessible from method `Mirror.GeneratedNetworkCode.InitReadWriters()'
Я успешно использовал InternalsVisibleToAttribute тем же способом, чтобы предоставить эти классы в мою сборку модульного теста.
Подробнее здесь: https://stackoverflow.com/questions/792 ... al-classes