この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 40372|答える: 0

[出典] .NET(CLS)公開言語仕様

[リンクをコピー]
2021年1月11日 11:43:49に投稿 | | | |
.NETは別の言語です。 つまり、開発者としては.NET用の多くの言語のいずれか(例:C#、C++/CLI、Eiffel、F#、IronPython、IronRuby、PowerBuilder、Visual Basic、Visual COBOL、Windows PowerShell)で開発できます。 .NET用に開発されたライブラリの型やメンバーに、元の言語を知らずにアクセスしたり、元の言語の慣習に従わなくてもアクセスできます。 コンポーネント開発者であれば、言語に関係なくどの.NETアプリでもコンポーネントにアクセスできます。

コンポーネントが共通言語仕様に準拠していれば、CLS準拠であり、CLSをサポートするプログラミング言語で書かれたアセンブリのコードを通じてアクセス可能であることが保証されます。 コンパイル時にCLSCompliantAttribute機能をソースコードに適用することで、コンポーネントが共通言語仕様に準拠しているかどうかを確認できます。

共通言語仕様は、CLS準拠の各ルールについて説明します。なぜなら、それは消費者(CLS準拠コンポーネントにプログラム的にアクセスする開発者)、フレームワーク(言語コンパイラを使ってCLS準拠ライブラリを作成する開発者)、エクステンソル(言語コンパイラやコードアナライザーなどを作ってCLS準拠コンポーネントを作成する開発者)に適用されるからです。
プログラムはコンパイル時にコードがCLS要件に適合しているかをデフォルトで確認しませんが、プログラムが公開(codeshare、Nugetリリースなど)であれば、[assembly: CLSCompliant(true)] の使用を推奨しますライブラリがCLS準拠であることを示せ

リソース:

ハイパーリンクのログインが見えます。
ハイパーリンクのログインが見えます。
ハイパーリンクのログインが見えます。

平たく言えば:

ピラフは手で食べても、スプーンで食べることもできますが、問題はありません。ただし、手で食べることは衛生基準や基準を満たしていません。 CLSはプロトコル仕様ですが、アセンブリはエラーを報告せず通常の使用には影響しません。ただし、開発するコードの種類やパラメータの一部は標準を満たしていません。

CLSをご利用ください

AssemblyInfo.csファイルに以下のコードを追加します:



この措置は議会全体に適用されます。

この機能を設定しない場合、この機能をオブジェクトに追加すると以下のエラーが出ることがあります:

アセンブリにはCLSCompliant機能がないため、「A.Test」はCLSCompliant機能を必要としません

テストコードは以下の通りで、その後再コンパイルします:

「A.Test」の種類はCLSに準拠していません



警告が2つ表示され、警告項目をクリックすると特定の行番号にジャンプし、コードラインがCLS仕様に準拠していないことを示します。その後、ご自身で修正できます。

もしラインがCLS仕様に準拠していなくても、修正によってプログラムの正しい動作に影響が出る場合、VSに警告されたくない場合は、フィールドやクラスに以下の特性を追加できます。



この方法なら、この警告は発行されません。

(終わり)





先の:Entity Framework クエリ最適化 WITH(NOLOCK)
次に:.NET/C# は現在のアプリケーション状態(CPU、スレッド、GC)を取得するためのもので
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com