InfoQ ホームページ .NET に関するすべてのコンテンツ
-
C# の機能: Defer
GoとSwiftでよく知られるものなのであるが、C#でも提案#1398にてDeferステートメントの希望がされている。概念について把握していない方のために解説をすると、これはfinallyブロックがコードの最後でなく最初に現れるものと説明できる。
-
C#の機能 - ポインタ演算
ネイティブプラットフォームと相互運用する場合、ポインタ操作に関して極めて特殊なコーディングパターンが必要となることがよくある。Cで記述したシム(shim)を経由すれば可能だが、 "Operators should be exposed for System.IntPtr and System.UIntPtr"と題した提案では,C#から直接提供する方法について論じている。
-
C#機能: 静的デリゲートと関数ポインター
C#のリリースごとに低レベルの機能が追加される。ほとんどのビジネスアプリケーション開発者には不要だが、グラフィック処理、機械学習、数学的パッケージに適したハイパフォーマンスのコードを可能にする。この2つの提案で、新しく関数への参照と呼び出し方法が提供される。
-
.NET Core 3.0 での Systems.Collections
.NET 3.0 の Systems.Collections でタグ付けされた issue リストに目を通すと、受理された提案と却下された提案がそれぞれあることがわかる。このレポートでは、その主要なものをいくつか取り上げる。
-
C#機能: ラムダ属性
属性は.NETのメタデータ処理機能の重要な部分である。属性は、コンパイラ、スタティックアナライザ、ランタイムライブラリによってさまざまな目的で使用される。通常の関数/メソッドは属性を持つことができるが、この提案以前はラムダと無名関数は持つことができなかった。
-
.NET CoreにVisual BasicのFile IOを追加
Visual BasicのFile IOライブラリは.NET Core 3.0に移植中である。これには、1回の関数呼び出しでディレクトリをコピーまたは削除する機能、Windowsのごみ箱(p/invokeコードなしで)のサポート、固定幅ファイルも処理できるRFC準拠のCSVパーサなどの便利な機能が含まれる。
-
MicrosoftがAzure Pipelinesの新機能と機能統合について発表
先日のConnect()イベントで、Microsoftは、Azure Pipelinesに関する新機能とインテグレーションについて発表した。その中には、Visual Studio Code用Azure Pipelinesエクステンション、GitHubリリースの管理、IoTプロジェクトのサポート、ServiceNowインテグレーションなどが含まれている。
-
IAsyncDisposableとIAsyncEnumeratorの更新
InfoQが非同期ストリーム提案をカバーしてから、いくつかのデザインに変更があった。もっとも注意すべきなのが軽量のValueTaskオブジェクトを使うことだ。
-
.NET CoreのPure属性
Pure属性が.NETのバージョン4に追加された。これは開発者が他のコードからの副作用のないコードを区別するのに役立つCode Contractsイニシアチブの一部である。Code Contractsプロジェクトが終了した後も、Pure属性は.NET Coreで活躍し続けている。
-
.NET Core 3.0のSystem.Data
あまり注目されていないが、System.Dataは.NETのリレーショナルデータベースアクセスに極めて重要である。System.Dataは前進のActiveX Data Objectsに敬意を表してADO.NETとも呼ばれ、.NETデータベースドライバを構築できる汎用フレームワークを提供する。.NET Core 3.0ではそれほど多くの変更はないが、数年ぶりに基本クラスに新しいメソッドが追加された。
-
C# 8:ジ��ネリック属性
属性は初期から.NETの一部であった。そういうものとして、ジェネリクスが導入される前に始まり、全く触れられることはなかった。CLRによってサポートされているが、この提案まではC#はジェネリック属性を使用する機能を提供していなかった。
-
C# 8:アサーションと自動テストのためのCaller Expression Attribute
現在C#は、ファイル名/パス、行番号、呼び出し元のメソッドまたはプロパティの名前について、呼び出し元情報属性をサポートしている。Caller Expression Attributeの提案で、式がそのリストに追加される。
-
C# 8:新しいキーワードの型推論
多くの状況では、特定の場所で許可されるタイプは1つだけである。それでもC#では、型を明示的に表記する必要がある。もしターゲット型が定まっている「new」式の提案が採用されれば、そのような定型コードは必要なくなるであろう。
-
Visual Studio Preview 1の第1印象
MicrosoftがConnect 2018で、Visual Studio 2019 Preview 1のリリースを発表した。このプレビューでは、IDEの起動からコードリファクタリング機能、大規模なソースツリーのナビゲーションを改善する検索機能の改善まで、多くの変更点が強調されている。
-
Xamarin.EssentialsはiOS、Android、UWPのネイティブ機能に対するクロスプラットフォームアクセスを簡素化する
Xamarin.Essentialsは、ネイティブのモバイル機能をクロスプラットフォームAPIセットに抽象化することで、簡単に使えるようにすることを狙っている。数ヶ月のプレビューを経て、コミュニティからコントリビュートされた機能強化とともに公式リリースされた。