問題タブ [base-class-library]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
210 参照

c# - 一部の .NET BCL メソッドが例外をスローしないのはなぜですか?

たとえば、BitConverter.GetBytes メソッド (Int64)XmlUrlResolver コンストラクターも、例外をスローするものとして文書化されていません。戻り値を使用してエラーを示していますか?

0 投票する
1 に答える
1228 参照

visual-studio-2010 - Visual Studio 2010 の Microsoft HTTP クライアント ライブラリ NuGet パッケージ

これを書いている時点で、Microsoft HTTP クライアント ライブラリの NuGet パッケージ (Microsoft.Net.Http) のバージョンは2.2.13. ただし、このバージョンには、System.Web.Http.SelfHost で必要とされているにもかかわらず、Visual Studio 2010 ではサポートされていないという免責事項が付属しています。(実際、依存ライブラリと同様に、Visual Studio 2010 で問題が発生しますMicrosoft.Bcl.Build。)

私の質問は、どのバージョンを使用すればよいですか? 利用可能な以前のバージョンは、、、2.1.10および2.0.20710.0です2.0.20505.0

試してから報告します2.1.10が、すでに答えを知っている人がいたら教えてください。

0 投票する
1 に答える
138 参照

.net - 基本クラス ライブラリの仕様はどこにありますか?

基本クラス ライブラリの「決定的な」仕様を探しています。私は ECMA 334、ECMA-335、IEC 23270、IEC 23271 を熟読しました。標準化されたすべての BCL 名前空間 (例: 、 など) ですべての詳細を見つけることを期待してSystemSystem.Collectionsましたが、それらのドキュメントには含まれていないようです。 .

仕様は .NET MSDN ドキュメントだけですか、それとも他に何かありますか?

CLI 言語と .NET Framework がどのように適合するかについて、私はボートを見逃していますか?

0 投票する
1 に答える
1788 参照

c# - Microsoft.Threading.Tasks が見つかりません、.net 4.0

.net アプリケーションを .net 4.0 に変換しました。async/await を使用しているため、NuGet パッケージ Async for .Net 4 と依存関係の Microsoft BCL をインストールしました...

アプリケーションをビルドすると、すべてがうまくいきますが、アプリの .exe を正しい環境に移動すると、エラーが発生します。

System.IO.FileNotFoundException: ファイルまたはアセンブリ 'Microsoft.Threading.Tasks、Version=1.0.12.0、Culture=neutral、PublicKeyToken=b03f5f7f11d50a3a、またはその依存関係の 1 つを読み込めませんでした。

アプリケーション ディレクトリに Microsoft.Threading.Tasks.dll を含めると、すべてが正常に機能します (この .dll はアプリ ビルド ディレクトリにコピーされます)。

問題は、この Microsoft.Threading.Tasks.dll をアプリのインストーラーに含める必要があるか、またはこれをアプリの .exe にバンドルする方法はありますか?

0 投票する
1 に答える
204 参照

.net - 静的メソッドの MethodInfo.Invoke に含まれる「this」 (Mono BCL による)

背景: ドメイン固有の CLI 実装に取り​​組んでいます。この実装では、Mono またはその一部に含まれる BCL を使用することを期待しています。Mono の他の部分は使用しません。CLR/VES 自体をゼロから実装します。現在、CLR 自体と BCL の間の「境界層」を調査しているので、CLR が BCL の期待どおりに動作することを確認できます。

Mono BCL のソース コードで、理解に苦しむ箇所に出くわしました。それはの実装にありSystem.Delegateます:

を見ていDynamicInvokeImplます。最初のビットは明らかですMethodInfo。呼び出された署名に基づいて を取得しています。

2回目以降はおかしくなる#if NET_2_0。ターゲット オブジェクトが指定され、呼び出されるメソッドが staticの場合、引数に 'this' ポインターが追加されるようです。

この場合によっては変更された引数リストを に渡しますMethodInfo.Invoke。このメソッドの MSDN ドキュメントを見てきましたが、インスタンスメソッドを呼び出す場合でも、'this' ポインターを含めることは想定されていないこと明らかです。

これは、Mono の内部の一部を呼び出しているわけSystem.Reflection.MethodInfoではないことに注意してください。

私は、CLR が非表示の引数 (通常は型ハンドル) をジェネリッククラスの静的メソッド呼び出しに挿入する必要があることを認識しています。ただし、1) これは「this」参照であり、型ハンドルではありません。2) コードは、ジェネリッククラスだけでなく、大規模にそれを行っているように見えます。3) そのようなことは、下位レベルではなく、下位レベルで行われます。MethodInfo.Invoke!の呼び出し元

ここで何が起こっているのか手がかりはありますか?

0 投票する
1 に答える
266 参照

c# - ジェネリック クラスの基本クラス?

MVC 4 アプリケーションで EF6 を使用しているため、ビジネス オブジェクトの抽象クラスを作成しました。
したがって、次のような一般的な抽象クラスがあります。

私たちのアプリケーションBusinessLayerには、上記のクラスを実装するいくつかのクラス (エンティティごとに 1 つのクラス) があります。
例: 次のように

BaseBusinessObject上記のクラスには for が必要です。
さて、私の質問はここにあります。BaseBusinessObject上記のクラスのクラスを作成するにはどうすればよいですか?

編集 :

の基底Repository<>クラスBusinessObjectsですね。
実際には、BusinessObjects
なぜ非ジェネリックな基本クラスが必要なのですか?
MVC 4 アプリケーションで Web API サービスを使用しています。各 Web API コントローラーでは、以下と同じアクションが必要ですが、BusinessObject異なるだけです。したがって、基本ビジネス オブジェクトがあれば、基本 Web API コントローラーに次のアクションを実装できます。

0 投票する
1 に答える
3774 参照

c# - Task.Delay(0) と Task.FromResult(0) に代わるものはありますか?

async/await 機能セットを利用するポータブル クラス ライブラリ (.NET 4.5/Silverlight 5/Win Phone 8/WinRT) を作成しようとしています。Microsoft.Bcl.Asyncこの機能を動作させるには、NuGet パッケージを含める必要があることがわかったので、そのまま実行しました。どうやら私のターゲットが原因で、Task.Delay(0)またはにアクセスできませんTask.FromResult(0)。次善の策は何だろう?

現在、私は以下を使用しています: new Task(() => { })(基本的に、アクションを実行しないタスク。)

それが前述のパターンのいずれかと同等であるかどうかはわかりません。


更新: どうやら私は盲目TaskExで、インテリセンス メニューに表示されませんでした。私のインテリセンスがTaskExtensions.

0 投票する
1 に答える
1196 参照

c# - AppDomain.ShadowCopyFiles が文字列なのはなぜですか?

.Net には、アセンブリをコピーしてファイルのロックを保持するための ShadowCopy 機能があります。次の 2 つのプロパティがあります。

  1. AppDomain.ShadowCopyFilesAppDomainSetup を使用する
  2. AppDomainSetup.ShadowCopyFilesそれを内部に保存しますstring[]

AppDomainSetupstring Value[]構成を保存するために使用されるフィールドがあります。私にとって奇妙なことはAppDomainSetup.ShadowCopyFiles、それが文字列プロパティであり、実際の型の代わりに"true"orを設定する必要があることです。"false"bool

のそのプロパティの実装は次のAppDomainSetupとおりです。

AppDomain.ShadowCopyFiles の実装は次のとおりです。

しかし、なぜAppDomainSetupこのプロパティにはstring? boolMicrosoft が のような変換ロジックを使用しなかったのはなぜAppDomain.ShadowCopyFilesですか?

このような少し臭いコードが にあるのは奇妙でAppDomainSetup、私が行方不明になっている本当の理由があるのではないかと考えていました。