2013年10月14日
川俣晶の縁側ソフトウェアその他開発日誌total 1542 count

TypeScriptとC#のクラスを生成するSimple TypeScript and C# Class Generator

Written By: 川俣 晶連絡先

 簡単なものしか作る気が無かったので半日で終わらせるつもりが、何日も掛かってしまったけれど、やっとCodeplexでPublishできた。(Apache 2.0ライセンスのOSSになっている)

Simple TypeScript and C# Class Generator

説明 §

 要するにGUIでシンプルなクラスの設定を作って、生成ボタンを押すとC#とTypeSriptのソースを生成してくれるだけです。サーバ側のC#プロジェクトにC#のコードを入れておき、クライアント側にTypeSriptのコードを入れておくと、JSONでデータをサーバからクライアントに送れます。

 VS2013のASP.NETのWeb APIプロジェクトでの使用を想定していて、APIのコントローラーでオブジェクトを返すとそれがJSONシリアライズされて飛んでいきます。

 クライアント側はそれを受け取ると、そのまま同じクラスのTypeScript定義の変数に入れることができます。

 詳しい説明はCodeplexのサイトの表紙に書いておきました。

 実際に転送するサンプルソースはCodeplexのソースツリーの一部にあります。

解説あるいはぼやき §

 あまりにもクラスの構造が違いすぎて、CS→TSもTS→CSも現実的ではなくて、JSONシリアライズによる情報交換用に限定してGUIで設定を作るツールにしてしまった。あまり綺麗ではないけどね。

 だからprivateなメンバーなどは作れません。メソッドも作れません(実装が別物になるから)。

 internalやprotectedなメンバーを作れない理由はちょっと違っていて、C#にはあるがTypeScriptには無いから。int型のメンバーを作れないのも同じで、TypeScript側に無いから。

 さて、時間が掛かった理由は3つ。

  1. 誤認バグ
  2. アップロードできないCodeplexのWiki
  3. めんどくさくなった

 誤認バグとは、バグだと思ってConnectにレポートしたら仕様だった件。説明されればなるほどその通り。

 アップロードできないCodeplexのWikiは、IE11やめてChromeにしたらすぐ通ったので、なんでや~という感じ。

 めんどくさくなったといのは、読んでその通り。

 たぶん、JavaScriptやめてTypeScriptに乗り換える人は多いと思いますが、C#やめてTypeScriptに乗り換える人は少ないと思うので、C#+TypeScriptのプロジェクトはそこそこ多くなりそう。だから、ちょっとはニーズがあるかな。

FAQ §

  • Q: なぜCopyまでで、ファイルを生成しないのですか? A:使われ方はいろいろだと思うし、チェックイン済みでロック状態のソースへの上書きは失敗するから
  • Q: XX機能がありません A:あらゆる機能には対応していないよ
  • Q: XX機能を追加してください A:ソース公開しているのだから自分で書き換えれば良いと思います
  • Q: 自分もコード書いてもっと強化したい A:連絡ください。Codeplex上で開発メンバーに追加することはできます
  • Q: 開発費用を寄付したい A:歓迎します

Facebook

キーワード【 川俣晶の縁側ソフトウェアその他開発日誌
【その他開発日誌】の次のコンテンツ
2013年
11月
02日
同じ画像のサイズ違いファイルを探し出して除外するNearColorChecker 0.4リリース
3days 0 count
total 899 count
【その他開発日誌】の前のコンテンツ
2013年
10月
06日
CodeplexのNestedHtmlWriterのRecommended Releaseを作成
3days 0 count
total 998 count

このコンテンツを書いた川俣 晶へメッセージを送る

[メッセージ送信フォームを利用する]

メッセージ送信フォームを利用することで、川俣 晶に対してメッセージを送ることができます。

この機能は、100%確実に川俣 晶へメッセージを伝達するものではなく、また、確実に川俣 晶よりの返事を得られるものではないことにご注意ください。

このコンテンツへトラックバックするためのURL

http://mag.autumn.org/tb.aspx/20131014171857
サイトの表紙【その他開発日誌】の表紙【その他開発日誌】のコンテンツ全リスト 【その他開発日誌】の入手全リスト 【その他開発日誌】のRSS1.0形式の情報このサイトの全キーワードリスト 印刷用ページ

管理者: 川俣 晶連絡先

Powered by MagSite2 Version 0.29 (Alpha-Test) Copyright (c) 2004-2018 Pie Dey.Co.,Ltd.