タグ

ブックマーク / csharper.blog57.fc2.com (3)

  • C#と諸々 PowerShellで入れ子型にアクセス

    C#がメインで他もまぁ諸々なブログです おかしなこと書いてたら指摘してくれると嬉しいです(´・∀・`) つーかコメント欲しい(´・ω・`) この前、PowerShell で入れ子型にアクセスする方法がわからなくてはまった。 その時は System.Environment クラスの GetFolderPath メソッドを使おうとしていたんだけど、このメソッドのパラメータの型は System.Environment.SpecialFolder 列挙体。この列挙体は System.Environment の入れ子型として定義されている。 最初、この列挙体の値を [System.Environment.SpecialFolder]::MyMusic といった感じで取得できると思っていたら、ダメだった。System.Environment.SpecialFolder なんていう型は存在しないと怒られ

  • C#と諸々 ガベージコレクション

    C#がメインで他もまぁ諸々なブログです おかしなこと書いてたら指摘してくれると嬉しいです(´・∀・`) つーかコメント欲しい(´・ω・`) 前置き長いですが、オブジェクトの型を破壊的に変換 の続きです。 ガベージコレクションを開始する際、CLR はまず、全てのスレッドを一時停止します。そして、それぞれのスレッドが実行中だったコードを確認し、「セーフポイント」に到達しているかどうかを調べます。 セーフポイントに到達しているスレッドは、ガベージコレクションが完了するまでそのまま一時停止にしておいて問題ありません。 セーフポイントに到達していないスレッドはそのまま一時停止にしておくわけにはいきません。しかし、ガベージコレクションの実行中は全てのスレッドを一時停止 しておく必要があります。そのため CLR は、スレッドの乗っ取りを行おうとします。簡単に言うと、現在実行中のメソッドの戻り先を書き換え

  • C#と諸々 PowerShell の例外処理

    C#がメインで他もまぁ諸々なブログです おかしなこと書いてたら指摘してくれると嬉しいです(´・∀・`) つーかコメント欲しい(´・ω・`) PowerShell の例外処理は VB6 のような非構造化例外処理を採用している。 PowerShell では trap ブロックによって例外を捕捉する。 この例外処理の動作がけっこうややこしい ( 特に $ErrorActionPreference が関わってくる条件 ) ので、検証してまとめてみた。 ( 掲載したサンプルコードはそのまま実行可能。 ) [ throw ステートメント ] PowerShell では、 throw ステートメントを使用して例外を明示的にスローすることができる。スローできるのは Exception 派生クラスのインスタンス、ErrorRecord クラス (System.Management.Automation) の

  • 1