ClassExplorer
Discover the API you need with ease.
ClassExplorer is a PowerShell module that enables quickly searching the AppDomain for classes and members.
This project adheres to the Contributor Covenant code of conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to seeminglyscience@gmail.com.
Why
Whenever you're working with a new library you may frequently come across a scenario where you:
- Have an object of a specific type that you're unsure what accepts it
- Need an object of a specific type, and you don't know what returns it
- Are looking for an example of a method that fits a certain signature
This module was created to make all of those problems easy to solve without being forced to look at documentation online.
Documentation
Check out our documentation for information about how to use this project.
Installation
Gallery
Install-Module ClassExplorer -Scope CurrentUser
PowerShellGet v3
Install-PSResource ClassExplorer
Source
git clone 'https://github.com/SeeminglyScience/ClassExplorer.git'
Set-Location ./ClassExplorer
./build.ps1
Formatting
This module includes some formatting with syntax highlighting for base types like MemberInfo
, Type
and also PSMethod
:
The colors for syntax highlighting is controlled by PSReadLine
options. See my dotfiles for the configuration shown in these examples.
Usage
Find an accessible version of an abstract type
Find-Type RunspaceConnectionInfo
Find-Type -InheritsType System.Management.Automation.Runspaces.RunspaceConnectionInfo
Find-Type -InheritsType System.Management.Automation.Runspaces.RunspaceConnectionInfo |
Find-Type { $_ | Find-Member -MemberType Constructor }
[Management.Automation.Runspaces.NamedPipeConnectionInfo] |
Find-Member -MemberType Constructor |
Get-Parameter
# Or, alternatively this will return all constructors, properties, methods, etc that return any
# implementation of RunspaceConnectionInfo.
Find-Member -ReturnType System.Management.Automation.Runspaces.RunspaceConnectionInfo
Find something to do with a type
using namespace System.Management.Automation.Runspaces
Find-Member -ParameterType RunspaceConnectionInfo -ReturnType RunspacePool
Use type signature queries
See about_Type_Signatures.help.md
Find-Member -ReturnType { [ReadOnlySpan[byte]] } -ParameterType { [ReadOnlySpan[any]] }
Get real specific
Find-Member -MemberType Method -Instance -ParameterType string -ReturnType bool -ParameterCount 4.. |
Find-Member -ParameterType { [anyref] [any] } |
Find-Member -Not -RegularExpression 'Should(Continue|Process)'
Contributions Welcome!
We would love to incorporate community contributions into this project. If you would like to contribute code, documentation, tests, or bug reports, please read our Contribution Guide to learn more.