InfoQ ホームページ C# に関するすべてのコンテンツ
-
C# 9でコンパイル時メタプログラミングを実現するソースジェネレータ
ソースジェネレータ(Source Generator)は、コンパイラが生成したメタデータを使ってユーザコードを調査し、新たなコードを追加的に生成して、プログラムの他の部分と一緒にコンパイルするという動作を可能にする、C#コンパイラの新機能である。
-
C# 9ではスクリプティングをファーストクラスサポートへ
"スクリプティング"言語を定義する特徴のひとつは、ボイラープレートを必要としないことだ。ファイルの最初の行から、通常は関数の中にある宣言やステートメントを記述することができる。更新されたトップレベルステートメントの提案では、この機能がC# 9に計画されている。
-
C#用静的解析ツールRoslynator.Analyzersで500以上の方法によるコード改善が可能に
Roslynator.Analyzersパッケージの新バージョンである2.3.1では、500を越える分析とリファクタリング、修正が可能である。RoslynatorはC#コードの静的分析に、オープンソースのRoslyn.NET Compiler Platformを使用して、コード改善のためのヒントとアクションをIDEに表示する。
-
C#の今後 - パラメータnullバリデーションの簡略化
プロポーザル #2145は一見すると、C# 8のNullable Reference型機能の論理的拡張のように思われる。基本的な考え方は、非nullパラメータを受け入れるメソッドにおいて、引数のnullチェックを明示的に行う必要をなくす、というものだ。しかしながら、これが大きな論争の的になっている。
-
C#のプライマリコンストラクタ
我々は以前、プライマリコンストラクタについて、2014年にそれがC# 6およびVB 12の機能候補リストから削除されたことをお伝えした。昨年末、そのプライマリコンストラクタが再びC# 9の機能候補になったのだ。
-
サーバレス関数におけるステートフルプログラミングモデル - QCon San FranciscoでのChris Gillum氏の講演より
Microsoftのプリンシパルエンジニアリングマネージャである Chris Gillum氏は、QCon San FranciscoでAzure Functionsのサーバレスプログラミングモデルについて講演し、Microsoftのサーバレスコンピューティング実装であるAzure Functionsを使用した2つのステートフルプログラミングモデルである、ワークフローとアクタについて論じた。
-
MicrosoftがC# 8.0をリリース
Microsoftは先週、.NET Core3.0リリースの一部としてC# 8.0を一般公開することを、.NET Conf 2019と同社の開発ブログで同時に発表した。言語機能には新たに、null許容参照型、非同期ストリーム、デフォルトインターフェースメンバ、新しいコードパターンなどが含まれている。これらの新機能はすべて、Visual Studio 2019でサポートされる。
-
C# 8でのnull許容型の拡張
.NET 2で初めて導入されたNullableは、過去10年半にわたってほとんど変更されなかったが、間もなく変更されるようだ。C# 8では、null許容の参照型をサポートする操作の多くが、null許容の値型にも適用できるようになる。
-
-
-
C# 8 Null許容参照型のアップデート
C# 8のNull許容参照型(nullable refence types)の作業は継続されており、最終リリース前に対処する必要があるエッジケースと、開発者が書く必要がある定型コードを削減する新しい機会を明らかにしている。
-
C# 8パターンマッチングの機能強化
C# 7はパターンマッチングの基礎を築いたが、多くの機能をCutting Room Floorに置いたままにせざるを得なかった。C# 8で追加の時間をかけて、これらのうちの多くが採用されている。
-
C#のデフォルトインターフェイスメソッドの更新
Default Interface Methodsのサポートが完了に近づくにつれて、潜在的な問題が発生します。 多くのことが達成されているが、これは複雑な機能であり、細部の多くはまだ解決されていない。
-
MicrosoftがApache Spark向けの高性能C#およびF#サポートをリリース
Microsoftは、Apache Spark用の.NETのリリースを発表し、ビッグデータ計算エンジンに新しい高性能のC#とF#のバインディングを追加した。
-
C#機能: Deferredエラー処理
堅牢なソフトウェアを書くときに、再実行可能な操作を実行することがある。システムを堅牢にするために、各操作は以前の操作状況から独立しているようにコード化できる。deferredエラーハンドリングより前は、退屈なコードであった。