csharp / expert
Snippet
Sichtbarkeit interner Member für Test-Assemblies
Um eine starke Kapselung aufrechterzuleiten, wird Logik oft als 'internal' markiert. Das Attribut 'InternalsVisibleTo' erlaubt es spezifischen Test-Assemblies, auf diese Member zuzugreifen, ohne sie öffentlich für alle zugänglich zu machen, was tiefgreifende Unit-Tests erleichtert.
snippet.cs
csharp
1
2
3
4
5
6
7
8
9
// In AssemblyInfo.cs or anywhere at the top levelusing System.Runtime.CompilerServices;[assembly: InternalsVisibleTo("UnitTestsProject")]internal class CoreLogic{internal int CalculateHiddenMetric() => 42;}
Erklärung
1
[assembly: InternalsVisibleTo(...)]
Ein Attribut auf Assembly-Ebene, das einem benannten externen Projekt Vertrauen gewährt.
2
internal class CoreLogic
Beschränkt die Sichtbarkeit normalerweise auf die definierende Assembly, wird aber durch das obige Attribut überschrieben.