Existe uma maneira de conceder acesso privilegiado a um .NET assembly apenas a um outro conjunto?

StackOverflow https://stackoverflow.com/questions/640552

  •  22-07-2019
  •  | 
  •  

Pergunta

Eu tenho uma biblioteca de classes montagem e um código de teste. Porque as necessidades de código de teste para espreitar os internos da classe, ele precisa ser parte do conjunto e porque eu não quero ter que executar todo por ele é auto, ele precisa ter algo público de modo que uma lata de montagem diferente invocá-lo. Isso acaba aderência em algum código que não deveria estar lá no conjunto principal.

O que eu gostaria é colocar todo o código de teste no outro conjunto e de alguma forma lhe conceder privilégios para internos de acesso da classe. Eu não preciso que isso seja parte do produto final, apenas como parte do debug / constrói privado.

É possível?

Foi útil?

Solução

Faça uso liberal do modificador de acesso internal e adicionar o InternalsVisibleTo atributo ao conjunto.

Outras dicas

Você quer System.Runtime.CompilerServices.InternalsVisibleTo ()

Você também pode usar o reflexo para acesso / membros privados internos. Isto é como MSTest faz isso.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top