SlideShare a Scribd company logo
2
Most read
8
Most read
.NETのTuple応用チャレンジ
WCFとC++/CLI
須藤圭太
自己紹介
• ID:suusanex( connpass・Twitter・GitHub共通)
• 名前:須藤圭太
• サイエンスパーク株式会社という独立系ソフトウェアベンダーに所属
• 4年ほど受託開発で、上流から下流まで全部を回す
• ここ6年ほどは、自社製品開発を担当
• 勉強会、今後も開いていきます。次は5/14!
• 今回は「Driver Module Framework(DMF)、VS静的解析、RPCデ
バッグ等」やります
• https://sciencepark.connpass.com/event/126600/
• https://sciencepark.connpass.com/
Tupleとは
• 複数の変数をまとめた型を、一時的に作れる
• 戻り値の例
• (int retInt, string retString)Func();
• var ret = Func();
• ret.retInt;
• 匿名型と違って、変数名がIntellisenseとコンパイルの対象になる
• タイポしない!
応用:WCFのSOAP通信にも使えるか?
• まだサポートが続いている.NET 4.5.2で実験
• 4.6以前を使う場合、NuGetでライブラリ追加が必要
• 戻り値にTupleを使ってみて、問題なくコンパイルが通った
• SOAP通信に成功、ちゃんとTupleで戻り値が取得できた
• XMLの中ではItem1,Item2といった形で並んでいる
<FuncResult xmlns:d4p1="http://schemas.datacontract.org/2004/07/System"
xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<d4p1:Item1>1</d4p1:Item1>
<d4p1:Item2>1になった理由</d4p1:Item2>
</FuncResult>
C++/CLIから呼べるか?
• 定義はC#で、C++/CLIのコンソールアプリから呼び出す
• とりあえずは書ける。Tupleの型が扱えないので、NuGetで取得
• NuGetで参照エラー
• 直接参照でチャレンジ
• Tupleの変数が見れない
• Item1,Item2だった(以前からあるGeneric版?)
• 動いてはいるが、デバッグはできない
• .NET 4.7.2の組み込みTupleを使っても、結果は同じ
まとめ
• TupleはWCFのSOAP通信にも使える
• C++/CLIでも、一応使える(変数名が見れないが)
• プロセス間通信のI/Fにもどんどん使っていって良さそう

More Related Content

PDF
本当にわかる Spectre と Meltdown
PDF
組み込み関数(intrinsic)によるSIMD入門
PDF
tcolorboxによる装飾表現(TeXユーザの集い2015)
PDF
Kotlinizeでハマった話
PDF
ChatGPT + LlamaIndex 0 .6 による チャットボット の実装
ODP
Format string Attack
PDF
時系列ビッグデータの特徴自動抽出とリアルタイム将来予測(第9回ステアラボ人工知能セミナー)
PDF
PHPで大規模ブラウザゲームを開発してわかったこと
本当にわかる Spectre と Meltdown
組み込み関数(intrinsic)によるSIMD入門
tcolorboxによる装飾表現(TeXユーザの集い2015)
Kotlinizeでハマった話
ChatGPT + LlamaIndex 0 .6 による チャットボット の実装
Format string Attack
時系列ビッグデータの特徴自動抽出とリアルタイム将来予測(第9回ステアラボ人工知能セミナー)
PHPで大規模ブラウザゲームを開発してわかったこと

What's hot (20)

PDF
暗号技術の実装と数学
PPTX
【LT資料】 Neural Network 素人なんだけど何とかご機嫌取りをしたい
PDF
強化学習の分散アーキテクチャ変遷
PDF
ARM CPUにおけるSIMDを用いた高速計算入門
PDF
Java8でRDBMS作ったよ
PDF
CTF for ビギナーズ バイナリ講習資料
PDF
文字列検索のいろいろ
PDF
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
PDF
【EXE Whitepaper】IOTAまとめ資料
PDF
マルチコアを用いた画像処理
PDF
金勘定のためのBigDecimalそしてMoney and Currency API
PDF
100%Kotlin ORM Ktormを試してみた
PDF
高速な倍精度指数関数expの実装
PDF
プログラムの処方箋~健康なコードと病んだコード
PDF
楕円曲線と暗号
PDF
仕様起因の手戻りを減らして開発効率アップを目指すチャレンジ 【DeNA TechCon 2020 ライブ配信】
PDF
CODE BLUE 2014 : バグハンターの愉しみ by キヌガワマサト Masato Kinugawa
PDF
Scalaの新規事業でScalaの未経験者をオンボーディング
PDF
競プロは社会の役に立たない+ベンチャー企業の話 (NPCA夏合宿OB講演).pdf
暗号技術の実装と数学
【LT資料】 Neural Network 素人なんだけど何とかご機嫌取りをしたい
強化学習の分散アーキテクチャ変遷
ARM CPUにおけるSIMDを用いた高速計算入門
Java8でRDBMS作ったよ
CTF for ビギナーズ バイナリ講習資料
文字列検索のいろいろ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
【EXE Whitepaper】IOTAまとめ資料
マルチコアを用いた画像処理
金勘定のためのBigDecimalそしてMoney and Currency API
100%Kotlin ORM Ktormを試してみた
高速な倍精度指数関数expの実装
プログラムの処方箋~健康なコードと病んだコード
楕円曲線と暗号
仕様起因の手戻りを減らして開発効率アップを目指すチャレンジ 【DeNA TechCon 2020 ライブ配信】
CODE BLUE 2014 : バグハンターの愉しみ by キヌガワマサト Masato Kinugawa
Scalaの新規事業でScalaの未経験者をオンボーディング
競プロは社会の役に立たない+ベンチャー企業の話 (NPCA夏合宿OB講演).pdf
Ad

More from keitasudo1 (6)

PPTX
保守しやすいコードの反面教師​ (アンチパターン) その1
PPTX
プログラミングの型や定石の紹介
PPTX
WCFのパイプ通信を .NET 5に向けてgRPCへ置き換える話
PPTX
Windowsアプリ開発の実務で使うUnitTest
PPTX
推し技術書「ユースケース駆動開発実践ガイド」
PPTX
Windowsサービスも.NET Coreで作ろう
保守しやすいコードの反面教師​ (アンチパターン) その1
プログラミングの型や定石の紹介
WCFのパイプ通信を .NET 5に向けてgRPCへ置き換える話
Windowsアプリ開発の実務で使うUnitTest
推し技術書「ユースケース駆動開発実践ガイド」
Windowsサービスも.NET Coreで作ろう
Ad

.NETのTuple応用チャレンジ WCFとC++/CLI