Type.ps1
Set-StrictMode -Version 3 $TYPES_WPF = [System.Windows.Window], [System.Windows.Controls.Grid] $TYPES_OXYPLOT = [OxyPlot.PlotModel].Assembly.DefinedTypes | where { $_.IsPublic -and !$_.IsAbstract -and $_.FullName -match "(PlotModel|Series|Axis|Annotation)$" } $TYPES_HORKER = [Horker.OxyPlotCli.Series.BoxPlotSeries].Assembly.DefinedTypes | where { $_.IsPublic -and !$_.IsAbstract -and $_.FullName -match "(PlotModel|Series|Axis|Annotation)$" } $TYPES = $TYPES_WPF + $TYPES_OXYPLOT + $TYPES_HORKER $TYPE_HASH = @{} foreach ($t in $TYPES) { $TYPE_HASH[$t.FullName -replace "^(OxyPlot|Horker\.OxyPlotCli)\.((Series|Axes|Annotations)\.)?", ""] = $t } $PROPERTY_HASH = @{} foreach ($t in $TYPES) { $props = $t.GetProperties() $propHash = @{} foreach ($p in $props) { if ($p.CanWrite) { $propHash[$p.Name] = $p } } $PROPERTY_HASH[$t.FullName] = $propHash } $AXES_PROPERTY_HASH = @{} foreach ($t in ($TYPES | where { $_.Name -match "Axis$" })) { $props = $t.GetProperties() foreach ($p in $props) { if ($p.CanWrite) { $AXES_PROPERTY_HASH[$p.Name] = $p } } } |