Submit Search
Upload
Visual Studioのデザイン時T4テキストテンプレートをほんの少し理解した.pdf
•
0 likes
•
86 views
T
tat tt
Follow
Visual Studioのデザイン時T4テキストテンプレートについて説明した資料です。
Read less
Read more
Engineering
Report
Share
Report
Share
1 of 13
Download now
Download to read offline
Recommended
Sphinx ではじめるドキュメント生活 2013 #sphinxconjp
Sphinx ではじめるドキュメント生活 2013 #sphinxconjp
Takeshi Komiya
Sphinx ではじめるドキュメント生活 2012 #pyconjp #sphinxconjp
Sphinx ではじめるドキュメント生活 2012 #pyconjp #sphinxconjp
Takeshi Komiya
.NET Coreとツール類の今
.NET Coreとツール類の今
Yuki Igarashi
今さら聞けない人のためのDevOps超入門
今さら聞けない人のためのDevOps超入門
VirtualTech Japan Inc./Begi.net Inc.
プログラマが欲しい仕様書とは
プログラマが欲しい仕様書とは
Katsutoshi Makino
NTTコミュニケーションズがちょっと変わったメディアを作ったわけ
NTTコミュニケーションズがちょっと変わったメディアを作ったわけ
Yusuke Naka
NTTコミュニケーションズがちょっと変わったメディアを作ったわけ
NTTコミュニケーションズがちょっと変わったメディアを作ったわけ
Yusuke NAKA
Unityで使える C# 6.0~と .NET 4.6
Unityで使える C# 6.0~と .NET 4.6
信之 岩永
Recommended
Sphinx ではじめるドキュメント生活 2013 #sphinxconjp
Sphinx ではじめるドキュメント生活 2013 #sphinxconjp
Takeshi Komiya
Sphinx ではじめるドキュメント生活 2012 #pyconjp #sphinxconjp
Sphinx ではじめるドキュメント生活 2012 #pyconjp #sphinxconjp
Takeshi Komiya
.NET Coreとツール類の今
.NET Coreとツール類の今
Yuki Igarashi
今さら聞けない人のためのDevOps超入門
今さら聞けない人のためのDevOps超入門
VirtualTech Japan Inc./Begi.net Inc.
プログラマが欲しい仕様書とは
プログラマが欲しい仕様書とは
Katsutoshi Makino
NTTコミュニケーションズがちょっと変わったメディアを作ったわけ
NTTコミュニケーションズがちょっと変わったメディアを作ったわけ
Yusuke Naka
NTTコミュニケーションズがちょっと変わったメディアを作ったわけ
NTTコミュニケーションズがちょっと変わったメディアを作ったわけ
Yusuke NAKA
Unityで使える C# 6.0~と .NET 4.6
Unityで使える C# 6.0~と .NET 4.6
信之 岩永
Visual Studio App Centerで始めるCI/CD
Visual Studio App Centerで始めるCI/CD
Shinya Nakajima
【de:code 2020】 開発者が語る! Microsoft Teams アプリケーション開発の実例とコツ
【de:code 2020】 開発者が語る! Microsoft Teams アプリケーション開発の実例とコツ
日本マイクロソフト株式会社
初音玲の流儀 - なんでプログラミングしているの?
初音玲の流儀 - なんでプログラミングしているの?
Akira Hatsune
SharePoint Online Communication Sites お手軽サイト作成
SharePoint Online Communication Sites お手軽サイト作成
Hirofumi Ota
DL-D_ver1.pdf
DL-D_ver1.pdf
Cybozu, Inc.
Trat_sprint7
Trat_sprint7
tratwakate
「ドメイン駆動設計」の複雑さに立ち向かう
「ドメイン駆動設計」の複雑さに立ち向かう
増田 亨
オブジェクト指向設計の原則
オブジェクト指向設計の原則
Toru Koido
「速」を落とさないコードレビュー
「速」を落とさないコードレビュー
Takafumi ONAKA
今さら聞けない人のためのDevOps超入門
今さら聞けない人のためのDevOps超入門
VirtualTech Japan Inc./Begi.net Inc.
今さら聞けない人のためのDevOps超入門
今さら聞けない人のためのDevOps超入門
VirtualTech Japan Inc./Begi.net Inc.
XamarinStudio勉強会 2014/09/08
XamarinStudio勉強会 2014/09/08
孝文 田村
Adobe Fireworks CS6 使いこなしテクニック
Adobe Fireworks CS6 使いこなしテクニック
Mori Kazue
プランナーがPR駆動してみた話
プランナーがPR駆動してみた話
Rino Omura
今日から始めるEnvoyの開発
今日から始めるEnvoyの開発
Rei Shimizu
アジャイルにプロジェクトの"なぜ"を考える、インセプションデッキワークショップ
アジャイルにプロジェクトの"なぜ"を考える、インセプションデッキワークショップ
You&I
ある製造業のチームトポロジー
ある製造業のチームトポロジー
Takuya Matsunaga
7/7 WordBench kobe dreamweaver seminar
7/7 WordBench kobe dreamweaver seminar
Atushi Sugiyama
【de:code 2020】 Teams から WinActor を呼び出そう! ~WinActor Bot のご紹介~
【de:code 2020】 Teams から WinActor を呼び出そう! ~WinActor Bot のご紹介~
日本マイクロソフト株式会社
connpass特徴と開発の流れ
connpass特徴と開発の流れ
Ikeda Yosuke
More Related Content
Similar to Visual Studioのデザイン時T4テキストテンプレートをほんの少し理解した.pdf
Visual Studio App Centerで始めるCI/CD
Visual Studio App Centerで始めるCI/CD
Shinya Nakajima
【de:code 2020】 開発者が語る! Microsoft Teams アプリケーション開発の実例とコツ
【de:code 2020】 開発者が語る! Microsoft Teams アプリケーション開発の実例とコツ
日本マイクロソフト株式会社
初音玲の流儀 - なんでプログラミングしているの?
初音玲の流儀 - なんでプログラミングしているの?
Akira Hatsune
SharePoint Online Communication Sites お手軽サイト作成
SharePoint Online Communication Sites お手軽サイト作成
Hirofumi Ota
DL-D_ver1.pdf
DL-D_ver1.pdf
Cybozu, Inc.
Trat_sprint7
Trat_sprint7
tratwakate
「ドメイン駆動設計」の複雑さに立ち向かう
「ドメイン駆動設計」の複雑さに立ち向かう
増田 亨
オブジェクト指向設計の原則
オブジェクト指向設計の原則
Toru Koido
「速」を落とさないコードレビュー
「速」を落とさないコードレビュー
Takafumi ONAKA
今さら聞けない人のためのDevOps超入門
今さら聞けない人のためのDevOps超入門
VirtualTech Japan Inc./Begi.net Inc.
今さら聞けない人のためのDevOps超入門
今さら聞けない人のためのDevOps超入門
VirtualTech Japan Inc./Begi.net Inc.
XamarinStudio勉強会 2014/09/08
XamarinStudio勉強会 2014/09/08
孝文 田村
Adobe Fireworks CS6 使いこなしテクニック
Adobe Fireworks CS6 使いこなしテクニック
Mori Kazue
プランナーがPR駆動してみた話
プランナーがPR駆動してみた話
Rino Omura
今日から始めるEnvoyの開発
今日から始めるEnvoyの開発
Rei Shimizu
アジャイルにプロジェクトの"なぜ"を考える、インセプションデッキワークショップ
アジャイルにプロジェクトの"なぜ"を考える、インセプションデッキワークショップ
You&I
ある製造業のチームトポロジー
ある製造業のチームトポロジー
Takuya Matsunaga
7/7 WordBench kobe dreamweaver seminar
7/7 WordBench kobe dreamweaver seminar
Atushi Sugiyama
【de:code 2020】 Teams から WinActor を呼び出そう! ~WinActor Bot のご紹介~
【de:code 2020】 Teams から WinActor を呼び出そう! ~WinActor Bot のご紹介~
日本マイクロソフト株式会社
connpass特徴と開発の流れ
connpass特徴と開発の流れ
Ikeda Yosuke
Similar to Visual Studioのデザイン時T4テキストテンプレートをほんの少し理解した.pdf
(20)
Visual Studio App Centerで始めるCI/CD
Visual Studio App Centerで始めるCI/CD
【de:code 2020】 開発者が語る! Microsoft Teams アプリケーション開発の実例とコツ
【de:code 2020】 開発者が語る! Microsoft Teams アプリケーション開発の実例とコツ
初音玲の流儀 - なんでプログラミングしているの?
初音玲の流儀 - なんでプログラミングしているの?
SharePoint Online Communication Sites お手軽サイト作成
SharePoint Online Communication Sites お手軽サイト作成
DL-D_ver1.pdf
DL-D_ver1.pdf
Trat_sprint7
Trat_sprint7
「ドメイン駆動設計」の複雑さに立ち向かう
「ドメイン駆動設計」の複雑さに立ち向かう
オブジェクト指向設計の原則
オブジェクト指向設計の原則
「速」を落とさないコードレビュー
「速」を落とさないコードレビュー
今さら聞けない人のためのDevOps超入門
今さら聞けない人のためのDevOps超入門
今さら聞けない人のためのDevOps超入門
今さら聞けない人のためのDevOps超入門
XamarinStudio勉強会 2014/09/08
XamarinStudio勉強会 2014/09/08
Adobe Fireworks CS6 使いこなしテクニック
Adobe Fireworks CS6 使いこなしテクニック
プランナーがPR駆動してみた話
プランナーがPR駆動してみた話
今日から始めるEnvoyの開発
今日から始めるEnvoyの開発
アジャイルにプロジェクトの"なぜ"を考える、インセプションデッキワークショップ
アジャイルにプロジェクトの"なぜ"を考える、インセプションデッキワークショップ
ある製造業のチームトポロジー
ある製造業のチームトポロジー
7/7 WordBench kobe dreamweaver seminar
7/7 WordBench kobe dreamweaver seminar
【de:code 2020】 Teams から WinActor を呼び出そう! ~WinActor Bot のご紹介~
【de:code 2020】 Teams から WinActor を呼び出そう! ~WinActor Bot のご紹介~
connpass特徴と開発の流れ
connpass特徴と開発の流れ
Visual Studioのデザイン時T4テキストテンプレートをほんの少し理解した.pdf
1.
Visual Studioのデザイン時T4テキスト テンプレートをほんの少し理解した 2022/8/25 tat_tt
2.
自己紹介 名前:tat_tt (たっと) 年齢:27歳(社会人5年目) 業務:C#を使ったデスクトップアプリ開発
3.
目次 • 背景 • 本日お話しすること •
デザイン時T4テンプレートの概要 • 便利に使える場面と使い方 • まとめ
4.
背景 末尾の数字だけが変わるような複数のフィール ドやプロパティをコメントも合わせて、手動で 実装するのが面倒 調べてみると、デザイン時T4テンプレートを使 うと楽できそう 実際に使ってみて得た知見を今日は共有
5.
本日お話しすること 以下2点が話題 • デザイン時T4テンプレートの概要 • 便利に使える場面
6.
Visual Studioのプロジェクト デザイン時T4テンプレートの概要(1) T4テキストテンプレートファイルを使って、テ キストファイルをビルド時に自動生成する仕組 み T4テキスト テンプレートファイル (.tt) ビルド時 テキストファイル (.txt, .csなど) 自動生成
7.
ディレクティブ:出力ファイルの設定やコントロールブロック向けの設定 <#@ import namespace="System"
#> <#@ output extension=“.cs” #> テキストブロック:出力ファイルに直接挿入されるテキスト public class Sample { // ・・・ } コントロールブロック:テキストを生成するためのプログラムコード <# for(int i = 0; i < 4; i++) { Write(i + ", "); } Write("4"); #> デザイン時T4テンプレートの概要(2) T4テキストテンプレートの構成要素は以下
8.
便利に使える場面と使い方 • 末尾の数字だけが変わるようなフィールドやプ ロパティを効率的に定義したい • ジェネリックで受け取る型の数だけが違うよう な共通実装が多いメソッドを効率的に定義した い 以降で具体例を掲示
9.
便利に使える場面 ~困りごと~ 20個の文字列型の設定項目があるクラスを定義 することを考える class Sample { ///
<summary> /// 設定項目1 /// </summary> string SettingItem1 { get; set; } /// <summary> /// 設定項目2 /// </summary> string SettingItem2 { get; set; } // SettingItem3~20も同様に定義 } ■困る点 ・単純に20個定義する のが面倒 ・プロパティ名やコメ ントを変えると20個す べてに反映が必要
10.
便利に使える場面 ~テンプレートを使うと~ 制御ロジックを使って簡潔に書ける! 下で使う変数を定義 for文内のテキストを 20回分生成 この部分がfor文内の変数count の値に置き換わる
11.
便利に使える場面 ~使い方①~ T4テンプレート用の.ttファイルを追加
12.
便利に使える場面 ~使い方②~ テンプレート作成 保存 テンプレートから テキスト作成
13.
まとめ 以下のような場面ではデザイン時T4テキストテ ンプレートが便利 • 末尾の数字だけが変わるようなフィールドやプロパ ティを効率的に定義したい • ジェネリックで受け取る型の数だけが違うような共通 実装が多いメソッドを効率的に定義したい Visual
Studioで面倒なテキストを作る場合には デザイン時T4テキストテンプレートを使えない か確認するとよいかも!
Download now