.NET/C#: use Assembly.GetName() if you to access internal/private information from Assembly
Posted by jpluimers on 2012/12/26
There is a lot of information in Assembly that is either internal or private. Luckily you van get an AssemblyName instance through Assembly.GetName() or Assembly.GetName(Boolean) which has quite a few public members that get initialized while calling the internal AssemblyName.Init method.
This is the member mapping of AssemblyName members to Assembly members:
| AssemblyName member | Assembly member |
| Name | GetSimpleName() *internal |
| GetPublicKey() | GetPublicKey() *internal |
| GetPublicKeyToken() | null |
| Version | GetVersion() *internal contains the AssemblyVersionAttribute of the assembly |
| CultureInfo | GetLocale() *internal |
| HashAlgorithm | GetHashAlgorithm() *private |
| VersionCompatibility | AssemblyVersionCompatibility.SameMachine |
| CodeBase | GetCodeBase(Bool) *internal |
| Flags | GetFlags() | AssemblyNameFlags.PublicKey |
| KeyPair | null |
| ProcessorArchitecture | complex set of calls |
–jeroen






Leave a comment