Cincinnati PowerShellユーザーグループ(@CincyPowershell)は、コマンドレットのレビューを含む各会議を開きます。 今夜はGet-Dateのターンでした。 例の多くはGet-DateとIsLeapYear()メソッドのみをサポートすることを示す一つの例で行われました。 これは私を考えるようになりました…(時には痛いこと…)そして、電球は私の頭の上に点灯しました。 Get-Dateは、システムのインスタンスを返します。DateTimeクラス、すなわち, オブジェクト、whileはクラスへの参照であり、クラスの静的メソッドへの簡単なアクセスを提供します。
システム。DateTime
二つのコロンとは何ですか? これらは、クラスの静的メソッドを呼び出すPowerShellの方法です。 したがって、IsLeapYear()の質問に戻ると、DateTimeクラスの静的メソッドです。 それにアクセスするには、::IsLeapYear(2016)と書きます。
Get-Date
Get-Dateは多くのオプションを持つコマンドレットですが、既定のオプションは現在の日付と時刻を返すことです。 すなわち。::今。
オブジェクトが作成されたクラスは、その型とも呼ばれます。 それでは、日付の”タイプ”は何ですか?,
インスタンス/オブジェクト
Get-Dateがインスタンスを返す場合、どうすればそれを行うことができますか? 二つの方法は、のような静的な方法のいずれかを使用します。今または。今日、新しいオブジェクトの新しいオブジェクトcmdlet.
静的メソッドを使用します。
$d=::Now(または単に。今)
$d=::Today(またはちょうど。今日)
新しいオブジェクトを使用して:
$d=新しいオブジェクトシステム。,DateTime(または単にDateTime)
DateTimeでNew-Objectを使用するユニークな側面は、年、月、日などのデフォルト値を持つオブジェクトを取得することです。 そして、今日の日付ではありません。 実際の結果は”Monday,January01,0001 12:00:00AM”です。
特定の日付または時刻を作成する場合は、クラスのコンストラクタのいずれかを使用します。 (詳細については、記事の最後にあるDateTime構造体のリンクを参照してください。)
Don Jonesからのクラス、インスタンス、静的についての素敵な書き込みがあります。,
そしてちょうど楽しみのために…そしてPowerShell5.0でのみ
誰が必要ですか? 任意のDateTimeオブジェクトの静的メソッドを呼び出すだけです! 以下はすべて同じ結果を生成し、Get-Dateは現在の日付を取得して無視する追加のオーバーヘッドを追加することに注意してください。
(Get-Date)::IsLeapYear(2016)
$d=Get-Date
$d::IsLeapYear(2016)$d=::Now
$d::IsLeapYear(2016)
PowerShell3.0はどうですか?
5.0の例は3.0では動作しません。 私たちは”クラス”、つまりタイプを求めなければなりません。,
(Get-Date)。GetType()::IsLeapYear(2016)
$d=Get-Date
$d.GetType()::IsLeapYear(2016)$d=::Now
$d.GetType()::IsLeapYear(2016)
PowerShell4.0はどうですか?
私を打つ! (今私の前にコピーを持っていない。)
オブジェクトの静的メソッドとプロパティを発見
Get-Memberには、オブジェクトの静的メソッドとプロパティを表示するための–Staticパラメータがあります。
Get-Date|Get-Member-Static
静的メソッドでもっと楽しくなります
ほとんど。,純授業が公開されることはありませんでユーとしてcmdlets.
たとえば、新しいGUIDが必要な場合があります…
::NewGuid()は新しいGUIDオブジェクトを返します。
::NewGuid()。toString()は新しいGUIDを文字列として返します。
いくつかの数学はどうですか?
PIの値が必要ですか?
::PI(または単に::PI)PowerShellと.Netによると約3.14159265358979です。
2の平方根はどうですか?
::Sqrt(2)(見てみましょう…私はそれが約1.4142135623731だと思います。)
そしてもちろん、45度の正弦:
::sin(0。,785398163397448)(もちろんラジアンで)ああ、約0.707106781186547。
度からラジアンへの変換を少しやっています:
::sin(::pi/180*45)
数学クラスができることの詳細については、記事の最後にある数学のリンクを参照してください。 または、それを待って、PowerShellを使用してください:
|Get-Member-Static
ボトムライン…C#の人がそれを行うことができれば、あなたもできます!
だから今あなたは知っている…2016はうるう年です! そして、少なくともダースの異なる方法!
(そして、迅速な5分の記事は時間を引き継いだ…)
静的クラスとメソッドを使用して
システム。数学クラス
Leave a Reply