Wednesday, July 01, 2009

どうもご無沙汰しております。HIROです。 

今回は Add-Type コマンドレットを使用して、 PowerShellでC#のクラス直接利用する方法を紹介します。

Add-Type コマンドレットは V2 から搭載されるもので、他の言語のソースを直接PowerShell上で展開して使用できるようにします。

今回はC#のクラスをPowerShell上で文字列として定義し、利用してみたいと思います。

まずはヒア文字列を使用して変数 $source にC#のSampleClassを代入します。

続きを読む…

Wednesday, July 01, 2009 10:43:29 PM (Tokyo Standard Time, UTC+09:00)  #    Comments [0]  |  Trackback
Monday, June 08, 2009

Bing は最近公開されたばかりのMSさんの新しい検索エンジンですね。

この Bing をPowerShellから使えるようにするスクリプトの開発が進められています。PoshBingとネーミングされています。

PoshBing は Codeplex(http://poshbing.codeplex.com/) からダウンロードすることができます。現時点ではバージョンは0.5です。

続きを読む...

Monday, June 08, 2009 8:47:09 AM (Tokyo Standard Time, UTC+09:00)  #    Comments [0]  |  Trackback
Tuesday, May 19, 2009

今回は PowerBoots で TextBlock を使用する方法について説明します。

PowerBoots の概要とインストールについては [PowerBoots] PowerBootsをインストールするを参照ください。

 


PowerBoots PowerBootの基本使用方法

 

PowerBootsでWPFウィンドウを作成するには

Boots { }

のように記述します。

これはコントロールが配置されていない、Windowのみを表します。

Windowに配置するコントロールは Boots{ } の { ~ } の間に記述します。

 

続きを読む...

Tuesday, May 19, 2009 10:08:45 PM (Tokyo Standard Time, UTC+09:00)  #    Comments [0]  |  Trackback
Tuesday, May 12, 2009

PowerBootsとは、PowerShell で WPFアプリを開発するための、PowerShell Moduleです。

以前から PowerBootsに興味があったのですが、やっとインストールをしたので覚え書きとして残しておきます。

(エバンジェリストの田辺さんのところで取り上げられており、試してみたくなりました)

PowerBootsのインストールは

OS:Windows Vista 32bit Ultimate

PowerShell V2 CTP3インストール済み

の環境で行いました。

 続きを読む...

Tuesday, May 12, 2009 11:40:35 PM (Tokyo Standard Time, UTC+09:00)  #    Comments [0]  |  Trackback
Tuesday, April 21, 2009

訳あって、特定のパラメータを持つコマンドレットの一覧が取得したかったので、下記のような関数を作ってみました。(PowerShell V2 CTP3で動作確認済み)。 関数名はいまいちなので好みに合わせて変更してください。

続きを読む…

Tuesday, April 21, 2009 12:55:48 PM (Tokyo Standard Time, UTC+09:00)  #    Comments [0]  |  Trackback
Wednesday, April 15, 2009

HIRO’s.NETPowerShell V2カテゴリを作成しました。

このカテゴリでは、今年リリースされる予定であるPowerShell V2の基本から応用までを解説する予定です。

プログラマでない方が読んでも理解できる内容にしていきたいと思います。

わかりにくいところを発見した場合にはご連絡いただけると助かります。

現段階で公開している内容は下記の通りです。

インストールと起動

01. インストール
02. 起動と終了

インターフェース

01. インターフェースの種類
02. Windows PowerShell V2 (CTP3)
03. Windows PowerShell ISE (CTP3)

コマンドレット

01. コマンドレットとは
02. パラメータ
03. PowerShell V2のコマンドレット一覧を調べる
04. 使用方法を調べる

変数

01. 変数とは何か 
02. 変数の使用方法 
03. 変数の型 
04. 配列変数 
05. 配列へのアクセス方法 
06. 多次元配列

Wednesday, April 15, 2009 10:20:28 PM (Tokyo Standard Time, UTC+09:00)  #    Comments [0]  |  Trackback
Saturday, March 07, 2009

Visual Studio 2010 CTP で ILDASM を使用する方法について説明します。

まずは IDE のメニューで [Tools]-[External Tools]を選択します。External Toolsダイアログが表示されます。

次に

  1. [Add]ボタンをクリック
  2. Title欄 に「ILDASM」と入力
  3. Command欄に C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin\ildasm.exe と入力
  4. Arguments欄に $(TargetPath) と入力
  5. Use Output Windowチェックボックスにチェックを付ける
  6. [OK]を押してダイアログを閉じる

これでメニューの[Tools]から ILDASM を起動できるようになります。

Saturday, March 07, 2009 12:16:30 AM (Tokyo Standard Time, UTC+09:00)  #    Comments [0]  |  Trackback

けろ-みおさんより

[VB2010]自動実装プロパティ の記事に

>仕組み上、本当に等価であるのか?ILDASMの結果を掲載してもらえると嬉しいです。

というコメントををいただいたので調べてみました。

まず class1 と class2 というクラスを準備し、

class1にはこれまで通りの書き方でプロパティを作成

class2には自動実装プロパティを作成

コードは下記の通りです。

これを ILDASM で比較表示してみました。

上記の結果から、これまでの「書き方と自動実装プロパティは等価である」と言うことを証明できました。


ついでなので VS2010 CTP の C# の方も見てみました。

VB.NETと同じように、class1にはこれまで通りの書き方で、class2には自動実装プロパティで書きました。

ちなみに C#の方はたしか 3.0 のバージョンから自動実装プロパティが使用できるようになったと記憶しています。

 

 

で ILDASM の結果は下記の通りです。

class2の方では裏で<employee>k__BackingField という private stringが作成されていることがわかります。

これはMSDNの自動実装するプロパティ (C# プログラミング ガイド) で バッキングフィールド という名称で説明がされています。

ということで、C#の方は厳密には等価ではないことがわかります。

Saturday, March 07, 2009 12:01:06 AM (Tokyo Standard Time, UTC+09:00)  #    Comments [0]  |  Trackback
Thursday, March 05, 2009

自動実装プロパティは英語では Auto-implemented Properties と呼ばれています。

この自動実装プロパティは C# ではすでに搭載されおり、VB.NETは次期バージョン(VB2010)からサポートされることになります。

これまでプロパティは下記のように記述していたかと思います。


Private _employee As String
Public Property employee() As String
    Get
        Return _employee
    End Get
    Set(ByVal value As String)
        _employee = value
    End Set
End Property

VB2010 では、これと等価なプロパティを

Public Property Employee As String

のように1行で記述することが可能です。

ただし読み取り専用(ReadOnly)や書き込み専用(WriteOnly)プロパティは、自動実装プロパティとして作成することが出来ませんでした。

下記のように


Public ReadOnly Property Employee() As String

Public WriteOnly Property Employee() As String

などと記述できたら良いと思うのですが皆さんはどう思いますか?



Thursday, March 05, 2009 10:27:00 PM (Tokyo Standard Time, UTC+09:00)  #    Comments [1]  |  Trackback

行継続文字は行連結文字と呼ばれることもあります。(このページでは行継続文字と表記します)

コードエディタでコードを記述する際、ステートメントが長くなると横スクロールをする必要がでてきます。

ステートメントが長いことは問題ないのですが、読みにくいため複数行に分けて記述することを検討する必要があります。

VB2008までは、行を分割する際に アンダースコア(_)を使用していました。

たとえばメッセージボックスのステートメントは下記のように行継続文字で複数行に分けて書くことが可能です。



コードを見ていただければわかりますが、1つのステートメントを4行に分割するには、行継続文字が3つ必要です。


VB2010における行継続文字

VB2010では、行継続文字を省略することが可能となりました。

これにより以前のように行分割位置に毎回アンダースコアを記述する必要がなくなりました。

この機能は多くのVBユーザーが待ち望んでいたのではないでしょうか?

ちなみに、これまでどおり行継続文字を使用しての行分割も可能です。

Thursday, March 05, 2009 10:22:54 PM (Tokyo Standard Time, UTC+09:00)  #    Comments [0]  |  Trackback

Theme design by Jelle Druyts

Pick a theme: