"Roles":
var test = new string[] {"str1", "str2"};
вот это массив, сериализуйте его с указанием типа string[]
и посмотрите результат. думаю он должен совпасть по структуре, с тем что вы ожидаете в api, и не должен содержать имени переменной еще монитор ресурсоврекомендую пользоваться. в винде много готового из коробки просто не все знают, если не учились на курсах. или кто то не показал ;)))
получить его можно только через экземпляр этого классане обязательно экземпляр. достаточно указания имени класса
Есть такое понятие, как "область видимости".делегат это тип. и в общем случае вполне может быть использован из другого класса, если он публичный, класс декларатор публичный и его пространство имен подключено. мало того, в самом дотнете есть масса предопределенных типов делегатов, которые прямо таки предназначены, для использования в программистами своем коде, без доступа к исходникам самого дотнета
Вы объявили делегат глобальнов C# не глобального контекста в принципе..
ни у кого нет времени...но я бы уже взглянул, после столь критичного разбора