投稿者 魔界の仮面弁士  (社会人) 投稿日時 2018/4/9 20:30:25
実行結果のイメージ




> .NETの4.7以降が必要とのこと(他PCとの関連もあるので躊躇しています)
どのバージョンの .NET Framework を使う予定でしょうか?


> Nugetを追加するか(ケンタッキー・フライド・チキンで注文するようにはいかないようです)
nuget 「を」追加するのではなく、
nuget 「で」追加するのです。

① プロジェクトは、コンパイルが通る状態にしておきます。(新規プロジェクトでも可)
② [ツール]メニューから nuget パッケージマネージャーを起動
③ [参照]タブをクリックし、検索ボックスに "System.ValueTuple" と入力
④ 選択してインストール

ちなみに原理的には、同等品を自作すればより低いバージョンの .NET Framework でもコンパイルを通せるかと思います。
ValueTuple 構造体 と TupleElementNames 属性を自作すれば .NET 3.5 まで。
ExtensionAttribute 属性も自作すれば、.NET 2.0 までは下げられるかと。


> サンプルに関しては、Value Tuple に関してのエラーが出るので解決に至っていません。
戻り値を 2 個渡したかっただけなので、タプルを使わずに
「自作構造体」や「As Object()」に差し替えてやれば、
VB2008 + .NET 3.5 でもコンパイルできますよ。

たとえば
 'Public Function DrawString(…) As (iNext As Integer, pNext As PointF)
 Public Function DrawString(…) As Object()
にして
 'Return (iFrom, pFrom)
 Return New Object() {iFrom, pFrom}
とか。戻り値を受け取っている場所なども同様に修正します。