https://github.com/seeminglyscience/classexplorer
Discover the API you need with ease
https://github.com/seeminglyscience/classexplorer
Last synced: about 2 months ago
JSON representation
Discover the API you need with ease
- Host: GitHub
- URL: https://github.com/seeminglyscience/classexplorer
- Owner: SeeminglyScience
- License: mit
- Created: 2017-08-26T21:27:21.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2023-09-16T19:05:39.000Z (almost 2 years ago)
- Last Synced: 2025-04-30T06:10:02.721Z (about 2 months ago)
- Language: C#
- Homepage:
- Size: 214 KB
- Stars: 104
- Watchers: 4
- Forks: 9
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- Contributing: docs/CONTRIBUTING.md
- License: LICENSE
- Code of conduct: docs/CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
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](https://github.com/SeeminglyScience/ClassExplorer/tree/master/docs/CODE_OF_CONDUCT.md).
By participating, you are expected to uphold this code. Please report unacceptable behavior to [email protected].## Why
Whenever you're working with a new library you may frequently come across a scenario where you:
1. Have an object of a specific type that you're unsure what accepts it
1. Need an object of a specific type, and you don't know what returns it
1. Are looking for an example of a method that fits a certain signatureThis 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](https://github.com/SeeminglyScience/ClassExplorer/tree/master/docs/en-US/ClassExplorer.md)** for information about how to use this project.
## Installation
### Gallery
```powershell
Install-Module ClassExplorer -Scope CurrentUser
```### PowerShellGet v3
```powershell
Install-PSResource ClassExplorer
```### Source
```powershell
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](https://github.com/SeeminglyScience/dotfiles/blob/d471cc564663d907e128d2bfb0aef454f6a59fa3/Documents/PowerShell/PSReadLine.ps1#L32-L55) for the configuration shown in these examples.
## Usage
### Find an accessible version of an abstract type
```powershell
Find-Type RunspaceConnectionInfo
```
```powershell
Find-Type -InheritsType System.Management.Automation.Runspaces.RunspaceConnectionInfo
```
```powershell
Find-Type -InheritsType System.Management.Automation.Runspaces.RunspaceConnectionInfo |
Find-Type { $_ | Find-Member -MemberType Constructor }
```
```powershell
[Management.Automation.Runspaces.NamedPipeConnectionInfo] |
Find-Member -MemberType Constructor |
Get-Parameter
```
```powershell
# 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
```powershell
using namespace System.Management.Automation.RunspacesFind-Member -ParameterType RunspaceConnectionInfo -ReturnType RunspacePool
```
### Use type signature queries
See [about_Type_Signatures.help.md](./docs/en-US/about_Type_Signatures.help.md)
```powershell
Find-Member -ReturnType { [ReadOnlySpan[byte]] } -ParameterType { [ReadOnlySpan[any]] }
```
### Get real specific
```powershell
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](https://github.com/SeeminglyScience/ClassExplorer/tree/master/docs/CONTRIBUTING.md) to learn more.