Loads any C# project or solution into LINQPad and exposes its code model to queries. This package contains an optional driver, samples, and dumping methods.
$ dotnet add package Metalama.LinqPadThe Metalama.LinqPad package allows you to load any C# project or solution into LINQPad and exposes its code model to queries. This package contains an optional driver, samples, and dumping methods.
IDeclaration, INamedType, IMethod, ...Workspace, Project, IIntrospectionAspectInstance, IIntrospectionAspectClass, IIntrospectionAspectDiagnostic, ...The following query lists all public methods in a project:
workspace
.SourceCode
.Methods
.Where( m => m.Accessibility == Accessibility.Public && m.DeclaringType.Accessibility == Accessibility.Public )
.GroupBy( m => m.DeclaringType.FullName )
.OrderBy( g => g.Key )
Metalama.Framework.Workspaces allows you to do code queries in arbitrary projects without LinqPad.Metalama.Framework.Instrospection exposes concepts like like Workspace, Project, IIntrospectionAspectInstance, IIntrospectionAspectClass, IIntrospectionAspectDiagnostic, ...Metalama.Framework exposes the basic code model in the Metalama.Framework.Code namespace.