3

C#では、メソッドを使用できますConsole.Error.WriteLine。これはPowershellでは機能しません。代わりに、次のように記述する必要があります。

[Console]::Error.WriteLine

なぜ角かっこ、なぜ二重コロン?

ps。明確にするために、私はロギングには興味がありません。型、オブジェクト、およびメソッドに関する構文を理解したいと思います。

4

3 に答える 3

10

ブラケット=タイプへのアクセス

二重コロン=タイプの静的メンバーへのアクセス:[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
于 2012-05-18T13:26:32.240 に答える
5

角かっこ[]は、Powershellがタイプを示す方法です。二重コロン::は、そのタイプの静的メンバーまたはメソッドを表します。通常のピリオド.は、インスタンスメンバーまたはメソッドを表します。

これらは他の.NET言語の影響を受けていることに注意してください。C#は.すべてのメンバーアクセスにforを使用し、C ++は::名前空間、サブクラス、および静的呼び出しにforを使用します。

于 2012-05-18T13:30:36.730 に答える
0

こちらでご覧ください-http://www.youtube.com/watch?feature=player_detailpage&v=jpswk- 4ykcc

于 2012-05-18T16:05:23.737 に答える