問題タブ [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.
c# - 一部の .NET BCL メソッドが例外をスローしないのはなぜですか?
たとえば、BitConverter.GetBytes メソッド (Int64)もXmlUrlResolver コンストラクターも、例外をスローするものとして文書化されていません。戻り値を使用してエラーを示していますか?
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
が、すでに答えを知っている人がいたら教えてください。
.net - 基本クラス ライブラリの仕様はどこにありますか?
基本クラス ライブラリの「決定的な」仕様を探しています。私は ECMA 334、ECMA-335、IEC 23270、IEC 23271 を熟読しました。標準化されたすべての BCL 名前空間 (例: 、 など) ですべての詳細を見つけることを期待してSystem
いSystem.Collections
ましたが、それらのドキュメントには含まれていないようです。 .
仕様は .NET MSDN ドキュメントだけですか、それとも他に何かありますか?
CLI 言語と .NET Framework がどのように適合するかについて、私はボートを見逃していますか?
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 にバンドルする方法はありますか?
.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
!の呼び出し元
ここで何が起こっているのか手がかりはありますか?
c# - ジェネリック クラスの基本クラス?
MVC 4 アプリケーションで EF6 を使用しているため、ビジネス オブジェクトの抽象クラスを作成しました。
したがって、次のような一般的な抽象クラスがあります。
私たちのアプリケーションBusinessLayer
には、上記のクラスを実装するいくつかのクラス (エンティティごとに 1 つのクラス) があります。
例: 次のように
BaseBusinessObject
上記のクラスには for が必要です。
さて、私の質問はここにあります。BaseBusinessObject
上記のクラスのクラスを作成するにはどうすればよいですか?
編集 :
の基底Repository<>
クラスBusinessObjects
ですね。
実際には、BusinessObjects
なぜ非ジェネリックな基本クラスが必要なのですか?
MVC 4 アプリケーションで Web API サービスを使用しています。各 Web API コントローラーでは、以下と同じアクションが必要ですが、BusinessObject
異なるだけです。したがって、基本ビジネス オブジェクトがあれば、基本 Web API コントローラーに次のアクションを実装できます。
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
.
c# - AppDomain.ShadowCopyFiles が文字列なのはなぜですか?
.Net には、アセンブリをコピーしてファイルのロックを保持するための ShadowCopy 機能があります。次の 2 つのプロパティがあります。
AppDomain.ShadowCopyFiles
AppDomainSetup を使用するAppDomainSetup.ShadowCopyFiles
それを内部に保存しますstring[]
AppDomainSetup
string Value[]
構成を保存するために使用されるフィールドがあります。私にとって奇妙なことはAppDomainSetup.ShadowCopyFiles
、それが文字列プロパティであり、実際の型の代わりに"true"
orを設定する必要があることです。"false"
bool
のそのプロパティの実装は次のAppDomainSetup
とおりです。
AppDomain.ShadowCopyFiles の実装は次のとおりです。
しかし、なぜAppDomainSetup
このプロパティにはstring
? bool
Microsoft が のような変換ロジックを使用しなかったのはなぜAppDomain.ShadowCopyFiles
ですか?
このような少し臭いコードが にあるのは奇妙でAppDomainSetup
、私が行方不明になっている本当の理由があるのではないかと考えていました。