Allows inspecting the exact type inheritance tree as declared in source, rather than the flattened view that reflection provides (for implemented interfaces, for example).

Enables code to determine what are the interfaces implemented directly by a type rather than a base class, as well as determine the "distance" in the hierarchy to those implementations.

var tree = typeof(Window).GetInheritanceTree();

// Gets just the base class ContentControl, instead
// of that plus 9 interfaces implemented on base types
Assert.Equal(1, tree.Inheritance.Count);
Assert.Equal(typeof(ContentControl), tree.Inheritance.First().Type);

There is a newer version of this package available.
See the version list below for details.
Install-Package netfx-System.TypeInheritance -Version
dotnet add package netfx-System.TypeInheritance --version
<PackageReference Include="netfx-System.TypeInheritance" Version="" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add netfx-System.TypeInheritance --version
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on netfx-System.TypeInheritance:

Package Downloads
The provided adapter pattern allows to convert any object to any other supported type, as provided by the registered adapters. This package provides the actual implementation of the service. It should only be added to the bootstrapping component of your application. ======= Example ======= IProject project = GetCurrentProject(); // say we need to use it as an MSBuild project, if possible IMSBuildProject msbuild = project.As<IMSBuildProject>(); if (msbuild != null) // do MSBuild stuff with it. ======= Adapters ======= public class ProjectToMsBuildAdapter : IAdapter<IProject, IMSBuildProject> { // Implement actual conversion. } The conversion behavior is now decoupled from the usage. Note that to create adapter implementations, you need to install the Adapter.Sdk package.
Provides the implementation of an API and service to perform general purpose adaptation of one type to another via registered adapters.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
1.1.1 2,058 8/2/2012
1.1.0 1,163 8/30/2011 768 6/15/2011 791 5/20/2011 881 3/20/2011 946 3/20/2011 862 3/20/2011 863 3/20/2011
Show less