Quantcast
Channel: C#タグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 9701

Autodesk Inventor API Hacking (C#9.0)

$
0
0
0. はじめに Freeradicalの中の人、yamarahです。 Autodesk Inventor API Hacking (C#8.0、そして.NET Core3.0)の続きで、C#9.0は使えるのか、検証します。 1. C# 9.0 1.1 C#8.0 → C#9.0に切り替える 結論を言うと、C#9.0に出来ました。変更は簡単で、Projectの<LangVersion>を書き換えるだけです。 <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Library</OutputType> <TargetFramework>net472</TargetFramework> <RootNamespace>InvAddIn</RootNamespace> <LangVersion>8.0</LangVersion> <Nullable>enable</Nullable> </PropertyGroup> (以下、続く) これを、 <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Library</OutputType> <TargetFramework>net472</TargetFramework> <RootNamespace>InvAddIn</RootNamespace> <LangVersion>9.0</LangVersion> <Nullable>enable</Nullable> </PropertyGroup> (以下、続く) とするだけです。 1.2 何が変わるの? 大きくは変わりません。と言うのも、InventorのAddInを書く限りは.NET Frameworkを使い続ける必要があり、.NET Coreで有効になる多くの新機能が使えないのです。 数少ない.NET Frameworkでも使える新機能で有用なのは、オブジェクト初期化の簡略化です。以下のように書けるようになりました。 Dictionary<int, string> Table = new(); // 右辺を省略できる // 今までは、こう書いていた。 //Dictionary<int, string> Table = new Dictionary<int, string>(); // もしくは、varが使える場面では、 //var Table = new Dictionary<int, string>(); また、些細ですが型によるswitchが出来るようになりました。 switch (sketchEntity) { // C#8.0では'種類のパターン'が使えないので、次のように書く必要があった。 // case SketchLine _: case SketchLine: message = "Line"; break; // case SketchArc _: case SketchArc: message = "Arc"; break; default: break; } 99. 親の記事に戻る Autodesk Inventor API Hacking (概略)

Viewing all articles
Browse latest Browse all 9701

Trending Articles