Get-Constructor Fun

Here is a quick and dirty function I wrote after getting PO’d at having to look up documentation for constructors:


NOTE:  Jim Truher thinks long typenames are useful so I added a switch (-FullName) so you could get them if you want them.


function get-Constructor ([type]$type, [Switch]$FullName)
{
    foreach ($c in $type.GetConstructors())
    {
        $type.Name + “(“
        foreach ($p in $c.GetParameters())
        {
             if ($fullName)
             {
                  “`t{0} {1},” -f $p.ParameterType.FullName, $p.Name 
             }else
             {
                  “`t{0} {1},” -f $p.ParameterType.Name, $p.Name 
             }
        }
        “)”
    }
}


PS> get-Constructor System.Windows.Thickness
Thickness(
        Double uniformLength,
)
Thickness(
        Double left,
        Double top,
        Double right,
        Double bottom,
)


PS>


PS> get-Constructor System.Datetime -FullName
DateTime(
 System.Int64 ticks,
)
DateTime(
 System.Int64 ticks,
 System.DateTimeKind kind,
)
DateTime(
 System.Int32 year,
 System.Int32 month,
 System.Int32 day,
)
DateTime(
 System.Int32 year,
 System.Int32 month,
 System.Int32 day,
 System.Globalization.Calendar calendar,
)
DateTime(
 System.Int32 year,
 System.Int32 month,
 System.Int32 day,
 System.Int32 hour,
 System.Int32 minute,
 System.Int32 second,
)
DateTime(
 System.Int32 year,
 System.Int32 month,
 System.Int32 day,
 System.Int32 hour,
 System.Int32 minute,
 System.Int32 second,
 System.DateTimeKind kind,
)
DateTime(
 System.Int32 year,
 System.Int32 month,
 System.Int32 day,
 System.Int32 hour,
 System.Int32 minute,
 System.Int32 second,
 System.Globalization.Calendar calendar,
)
DateTime(
 System.Int32 year,
 System.Int32 month,
 System.Int32 day,
 System.Int32 hour,
 System.Int32 minute,
 System.Int32 second,
 System.Int32 millisecond,
)
DateTime(
 System.Int32 year,
 System.Int32 month,
 System.Int32 day,
 System.Int32 hour,
 System.Int32 minute,
 System.Int32 second,
 System.Int32 millisecond,
 System.DateTimeKind kind,
)
DateTime(
 System.Int32 year,
 System.Int32 month,
 System.Int32 day,
 System.Int32 hour,
 System.Int32 minute,
 System.Int32 second,
 System.Int32 millisecond,
 System.Globalization.Calendar calendar,
)
DateTime(
 System.Int32 year,
 System.Int32 month,
 System.Int32 day,
 System.Int32 hour,
 System.Int32 minute,
 System.Int32 second,
 System.Int32 millisecond,
 System.Globalization.Calendar calendar,
 System.DateTimeKind kind,
)
Enjoy! 


Jeffrey Snover [MSFT]
Windows Management Partner Architect
Visit the Windows PowerShell Team blog at:    http://blogs.msdn.com/PowerShell
Visit the Windows PowerShell ScriptCenter at:  http://www.microsoft.com/technet/scriptcenter/hubs/msh.mspx