- PR -

モバイルコントロールを継承したカスタムコントロールの作成

投稿者投稿内容
まるこ
会議室デビュー日: 2005/12/03
投稿数: 12
投稿日時: 2007-03-30 17:10
モバイルコントロールに関する質問です。
TextBoxにistyleの設定するために
モバイルコントロールのTextBoxを継承した
カスタムコントロールを作成しようと考えています。
そこで、元となるTextBoxクラスの処理を見たいのですが
ソースファイルが見つかりません。
モバイルコントロールのソースファイルは
公開されているのでしょうか?
ご存知の方いらっしゃいましたら教えていただければと思います。
よろしくお願いします。
囚人
ぬし
会議室デビュー日: 2005/08/13
投稿数: 1019
投稿日時: 2007-03-30 19:22
ASP.NET のモバイルコントロールの事でしょうか?
ソースコードは公開されていません。しかし、特にソースコードを見る必要はないと思います。
http://msdn2.microsoft.com/ja-jp/library/system.web.ui.mobilecontrols.textbox(VS.80).aspx
何故読みたいのでしょうか?
_________________
囚人のジレンマな日々
まるこ
会議室デビュー日: 2005/12/03
投稿数: 12
投稿日時: 2007-04-01 11:42
囚人さん

返答ありがとうございます。
.net歴が浅くて理解が不足しているのかもしれませんが、
以下の手順でカスタムコントロールを作成しようとしてます。

1.System.Web.UI.MobileControls.TextBoxクラスを継承したクラスを作成
2.作成したクラスのrender()メソッドをオーバーライドして、
出力したいHTMLタグを設定

ここでrender()メソッドの処理を書くときに、TextBoxクラスの処理を
損なわないようにするためにソースコードを確かめたいと思っています。
(他にもオーバーライドすべきメソッドがないかなどの確認も含めて、
既存のTextBoxクラスの処理をデグレードさせないため)
囚人
ぬし
会議室デビュー日: 2005/08/13
投稿数: 1019
投稿日時: 2007-04-01 20:34
ソースコードを読んで理解を深める事自体は良い事だと思います。
しかし、どのライブラリを使う場合も同じ事が言えると思いますが、いちいち読んでいたらきりがありません。処理を損なわないようにしたい、というのであれば、単にホワイトボックステストをしたら良いだけではないでしょうか。
他にもオーバーライドすべきメソッドがないかの確認はドキュメントを読めば良い事です。
_________________
囚人のジレンマな日々
まるこ
会議室デビュー日: 2005/12/03
投稿数: 12
投稿日時: 2007-04-01 20:59
囚人さん

返答ありがとうございます。
ドキュメントを読んだ結果、必要な情報が十分に得られませんでした。
また、試しに作成してみたカスタムコントロールでホワイトボックステストを
してみたところ上手くいかずにソースコードを読むのが
手っ取り早いという結論に達しました。
ただ、ドキュメントの読み方が不足しているかもしれないので、熟読してみます。
囚人
ぬし
会議室デビュー日: 2005/08/13
投稿数: 1019
投稿日時: 2007-04-01 21:20
確かに、モバイルコントロールのドキュメントは貧弱でした。Visual Studio .NET 2003 付属のヘルプは、モバイルに関しては間違いだらけです(確か)。
ただ、MSDN2 になってからはかなり改善されていると思います。
環境が書かれていないので何を見ているのかは分かりませんが、私が提示したリンクは見られたでしょうか?
どちらにしろ通常の手段ではソースコードを読む事ができませんので、頑張るしかないですね。
_________________
囚人のジレンマな日々
まるこ
会議室デビュー日: 2005/12/03
投稿数: 12
投稿日時: 2007-04-02 01:32
囚人さん、たびたびのフォローありがとうございます。
リンクに関してはチェックしました。
ちなみに環境は

開発ツール:VisualStudio.net 2003
OS:Windows XP
サーバー:IIS6.0
DB:SQLServer2000
その他:ASP.netモバイルコントロール Device Update4

です。
Tdnr_Sym
ぬし
会議室デビュー日: 2005/09/13
投稿数: 464
お住まい・勤務地: 明石・神戸
投稿日時: 2007-04-02 23:29
こんばんは。

幸いなことに.NET Frameworkクラスライブラリは難読化されていませんので、
あるツールを使ったりすれば、ほぼ元のソースコードを知ることが出来ます。

で、System.Web.UI.MobileControls.TextBoxクラスのレンダリングの実装を探してみました。
OO/動的バインディングのせいで実際クラスライブラリの中をトレース実行しないと分かりづらいところがありますが、

おそらく、実際のレンダリングは
System.Web.UI.MobileControls.Adapters.HtmlTextBoxAdapterクラスかその派生クラスで行われています。

スキルアップ/キャリアアップ(JOB@IT)