Могут ли методы иметь модификаторы двойного доступа?

У меня есть много методов, которые определены таким образом:

internal static string GetAJobShaNaNaNaShaNaNaNaNaNa(string Silhouettes)

Однако, чтобы вызвать их из тестового проекта, добавленного к решению, мне нужно изменить их модификатор доступа с внутреннего на общедоступный.

Есть ли простой способ сделать эти методы общедоступными для тестов, но в противном случае остаться внутренними?


person B. Clay Shannon    schedule 25.02.2016    source источник
comment
Только что закончились близкие голоса, поэтому я оставлю это здесь для кого-нибудь еще: stackoverflow.com/questions/358196/   -  person Cody Gray    schedule 25.02.2016
comment
Если вам действительно нужно протестировать внутренние методы, а не только их общедоступные интерфейсы, вы можете использовать атрибут InternalsVisibleTo.   -  person Cody Gray    schedule 25.02.2016


Ответы (2)


Почему бы не добавить InternalsVisibleTo в вашу сборку разрешить доступ к тестам?

[assembly:InternalsVisibleTo("YourTestAssembly")]
person Daniel A. White    schedule 25.02.2016
comment
На всякий случай, это нужно добавить в файл \ Properties \ AssemblyInfo.cs. - person B. Clay Shannon; 25.02.2016

Вы можете использовать атрибут internalsvisibletoattribute. https://msdn.microsoft.com/en-us/library/system.runtime.compilerservices.internalsvisibletoattribute.aspx

person neo    schedule 25.02.2016