Reflection.Enumerator
2.0.0.1
dotnet add package Reflection.Enumerator --version 2.0.0.1
NuGet\Install-Package Reflection.Enumerator -Version 2.0.0.1
<PackageReference Include="Reflection.Enumerator" Version="2.0.0.1" />
<PackageVersion Include="Reflection.Enumerator" Version="2.0.0.1" />
<PackageReference Include="Reflection.Enumerator" />
paket add Reflection.Enumerator --version 2.0.0.1
#r "nuget: Reflection.Enumerator, 2.0.0.1"
#:package Reflection.Enumerator@2.0.0.1
#addin nuget:?package=Reflection.Enumerator&version=2.0.0.1
#tool nuget:?package=Reflection.Enumerator&version=2.0.0.1
Reflection Enumerator
Reflection Enumerator uses reflection on a target .NET assembly (.dll file) to interrogate contained classes, methods, properties, etc and return an interrogated assembly object that can be easily used to view internal elements and generate a formatted / serialised JSON file for consumption in other applications, such as in the Reflection Enumerator Web UI sample web app.
Example Usage
Create an instance of ReflectionEnumerator.Interrogator to call InterrogateAssembly on a file or Assembly object.
// Create instance of Interrogator
var interrogator = new Interrogator(new ReflectorSettings(ReflectorModifiers.All));
// Get basic assembly and object info, outputting any error if required
var interrogatedAssembly = interrogator.InterrogateAssembly(TestAssembly, out var err);
// Assuming IInterrogatedAssembly returned is not null, hook reflection complete event and perform analysis
if (interrogatedAssembly != null)
{
interrogatedAssembly.ReflectionComplete += async (s, e) =>
{
if (sender is IInterrogatedAssembly assembly)
{
// Perform further analysis as required, such as ...
foreach (var assObj in assembly.AssemblyObjects)
{
await assObj.PopulateReflectedElements(ReflectionModifiers.All);
// The above will populate Properties, Methods, Fields, Events, and Constructors collections for the assembly object,
// which can now be utilised further (see interfaces for full details), for example ...
foreach (var prop in assObj.Properties)
{
if (prop.HasSetter)
{
Debug.WriteLine(prop.Name);
}
}
}
}
}
interrogatedAssembly.GetAssemblyObjectElementsAsync();
}
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- System.Text.Encodings.Web (>= 10.0.5)
- System.Text.Json (>= 10.0.5)
-
net10.0
- No dependencies.
-
net8.0
- System.Text.Encodings.Web (>= 10.0.5)
- System.Text.Json (>= 10.0.5)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.