C#では、メソッドを使用できますConsole.Error.WriteLine
。これはPowershellでは機能しません。代わりに、次のように記述する必要があります。
[Console]::Error.WriteLine
なぜ角かっこ、なぜ二重コロン?
ps。明確にするために、私はロギングには興味がありません。型、オブジェクト、およびメソッドに関する構文を理解したいと思います。
C#では、メソッドを使用できますConsole.Error.WriteLine
。これはPowershellでは機能しません。代わりに、次のように記述する必要があります。
[Console]::Error.WriteLine
なぜ角かっこ、なぜ二重コロン?
ps。明確にするために、私はロギングには興味がありません。型、オブジェクト、およびメソッドに関する構文を理解したいと思います。
ブラケット=タイプへのアクセス
二重コロン=タイプの静的メンバーへのアクセス:[MyType]はタイプインスタンスを返します
元:
c:> [System.Int32]
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True Int32 System.ValueType
ドット表記を使用すると、Typeインスタンスのインスタンスメンバーにのみアクセスできます(ほとんどの場合、リフレクション関連のメソッド)...
c:\> [System.Int32].Parse("3")
Method call failed because [System.Runtype] does not have any "Parse" member
c:\> [System.Int32].AssemblyQualifiedName
System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
したがって、::はクラスの静的メンバーにアクセスする方法です
c:\> [System.Int32]::Parse("3")
3
角かっこ[]
は、Powershellがタイプを示す方法です。二重コロン::
は、そのタイプの静的メンバーまたはメソッドを表します。通常のピリオド.
は、インスタンスメンバーまたはメソッドを表します。
これらは他の.NET言語の影響を受けていることに注意してください。C#は.
すべてのメンバーアクセスにforを使用し、C ++は::
名前空間、サブクラス、および静的呼び出しにforを使用します。
こちらでご覧ください-http://www.youtube.com/watch?feature=player_detailpage&v=jpswk- 4ykcc