タグ付けされた質問 「c#」

C#(「seesharp」と発音)は、Microsoftによって開発された、静的に型指定された高レベルのマルチパラダイムプログラミング言語です。C#コードは通常、Microsoftの.NETファミリのツールとランタイムを対象としています。これには、.NET Framework、.NET Core、Xamarinなどが含まれます。このタグは、C#またはC#の正式な仕様で記述されたコードに関する質問に使用します。

2
ASP.NET Core 2.0認証ミドルウェア
Core 1.1では、@ blowdartのアドバイスに従い、カスタムミドルウェアを実装しました。 https://stackoverflow.com/a/31465227/29821 それはこのように機能しました: ミドルウェアが実行されました。リクエストヘッダーからトークンを取得しました。 トークンを検証し、有効な場合、HttpContext.User.AddIdentity();を介して追加された複数のクレームを含むID(ClaimsIdentity)を構築しました。 services.AddAuthorizationを使用するConfigureServicesで、ミドルウェアによって提供される要求を要求するポリシーを追加しました。 コントローラ/アクションでは、[Authorize(Roles = "ミドルウェアが追加した役割")]を使用します。 これは2.0で多少機能しますが、トークンが無効で(上記のステップ2)、クレームが追加されない場合は、「authenticationSchemeが指定されておらず、DefaultChallengeSchemeが見つかりませんでした」というメッセージが表示されます。 だから今私は2.0で変更されたauthを読んでいます: https://docs.microsoft.com/en-us/aspnet/core/migration/1x-to-2x/identity-2x ASP.NET Core 2.0で同じことをするための正しい方法は何ですか?本当にカスタム認証を行う例は見当たりません。

6
LINQラムダで複数のテーブル間の結合を実行する方法
LINQで複数のテーブル間の結合を実行しようとしています。次のクラスがあります。 Product {Id, ProdName, ProdQty} Category {Id, CatName} ProductCategory{ProdId, CatId} //association table そして、私は次のコードを使用します(ここでproduct、categoryおよびproductcategoryは上記のクラスのインスタンスです)。 var query = product.Join(productcategory, p => p.Id, pc => pc.ProdID, (p, pc) => new {product = p, productcategory = pc}) .Join(category, ppc => ppc.productcategory.CatId, c => c.Id, (ppc, c) => new { productproductcategory = ppc, category = …


6
デリゲートをインターフェイスに追加する方法C#
クラスに何人かの代表者が必要です。 インターフェイスを使用して、これらのデリゲートを設定するように「通知」します。 方法? 私のクラスは次のようになります: public class ClsPictures : myInterface { // Implementing the IProcess interface public event UpdateStatusEventHandler UpdateStatusText; public delegate void UpdateStatusEventHandler(string Status); public event StartedEventHandler Started; public delegate void StartedEventHandler(); } これらのデリゲートを強制するインターフェイスが必要です。 public interface myInterface { // ????? }

9
複合キー辞書
リストにいくつかのオブジェクトList<MyClass>があるとします。たとえば、MyClassにはいくつかのプロパティがあります。MyClassの3つのプロパティに基づいてリストのインデックスを作成したいと思います。この場合、プロパティの2つはintであり、1つのプロパティは日時です。 基本的に私は次のようなことができるようになりたいです: Dictionary< CompositeKey , MyClass > MyClassListIndex = Dictionary< CompositeKey , MyClass >(); //Populate dictionary with items from the List<MyClass> MyClassList MyClass aMyClass = Dicitonary[(keyTripletHere)]; リストに複数の辞書を作成して、それが保持するクラスのさまざまなプロパティにインデックスを付けることがあります。しかし、複合キーをどのように処理するのが最善かわかりません。3つの値のチェックサムを実行することを検討しましたが、これにより衝突のリスクが生じます。
89 c#  dictionary 

2
アイテムXのパブリッシュプロパティを適用できません
メインソリューションでビルドを行うたびに、次の警告が表示されます。 アイテム "microsoft.visualstudio.qualitytools.unittestframework"の発行プロパティを適用できません。 誰かがこれまでにこのようなものを見たことがありますか?これを修正する方法に関するアイデアはありますか?これは、すべての開発者マシンで発生し、TFSビルドサーバーでも発生します。ただし、デバッグモードでのみ表示されます。

7
エラー/ langversionの無効なオプション '6'。ISO-1、ISO-2、3、4、5、またはデフォルトである必要があります
.NET 4.6をターゲットにして、C#言語バージョンを6に変更することで最新のC#バージョンを利用しようとしています。 しかし、コンパイル中にこのエラーが発生しました: エラー/ langversionの無効なオプション '6'。ISO-1、ISO-2、3、4、5、またはデフォルトである必要があります /langversion:6Web.Configの設定を5 に更新すると、機能します。 <system.codedom> <compilers> <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701"> しかし、より低い言語バージョンに頼ることなくこれをどのように解決しますか? Visual Studio 2015 Community Editionを使用していますが、.NET Framework 4.6も手動でインストールしました。これは、Visual Studio 2015でデフォルトでインストールされなかった場合に備えてです。 プロジェクトは、Visual Studio 2015によって作成された標準のASP.NET MVCテンプレートプロジェクトです。


4
文字列内で変数を使用する
PHPでは、次のことができます。 $name = 'John'; $var = "Hello {$name}"; // => Hello John C#に同様の言語構造はありますか? あることはString.Format();知っていますが、文字列で関数/メソッドを呼び出さなくても実行できるかどうかを知りたいです。


4
ユーザーが「ログイン」していることを確認する方法は?
ASP.NETアプリケーションで以下の方法でフォーム認証を使用しています FormsAuthentication.RedirectFromLoginPage(txtUsername.Text, true); ユーザーがログインしているかどうかを確認するにはどうすればよいですか?また、ログインしたユーザーのユーザー名を取得するにはどうすればよいですか?

4
例外:「URI形式はサポートされていません」
dirを指す絶対ローカルパスがあります: "file:\\C:\\Users\\john\\documents\\visual studio 2010\\Projects\\proj" しかし、それをDirectoryInfoのctorにスローしようとすると、「URI形式はサポートされていません」という例外が発生します。 私はグーグルでSOを調べましたが、ローカルパスではなく、リモートパスを使用したソリューションしか表示されません。なんらかの変換方法を期待しています...
89 c#  .net  .net-4.0 

4
待機後にHttpContext.Currentがnullになるのはなぜですか?
私は次のテストWebAPIコードを持っています。本番環境ではWebAPIを使用していませんが、この質問について話し合ったために作成しました。WebAPI非同期の質問 とにかく、これが問題のあるWebAPIメソッドです。 public async Task<string> Get(int id) { var x = HttpContext.Current; if (x == null) { // not thrown throw new ArgumentException("HttpContext.Current is null"); } await Task.Run(() => { Task.Delay(500); id = 3; }); x = HttpContext.Current; if (x == null) { // thrown throw new ArgumentException("HttpContext.Current is null"); …

11
Windowsフォームアプリケーションのデフォルトアイコンの変更
作業中のアプリケーションのアイコンを変更する必要があります。しかし、単にプロジェクトのプロパティ]タブから他のアイコンをブラウズ- >アプリケーション- >アイコンは、デスクトップに保存されているアイコンを取得されていません。.. それを行う正しい方法は何ですか?

4
AddWithValueパラメーターがNULLの場合の例外
SQLクエリのパラメータを指定するための次のコードがあります。Code 1;を使用すると、次の例外が発生します。しかし、私が使用すると正常に動作しますCode 2。ではCode 2、私たちはnullのチェック、ひいては持つif..elseブロックを。 例外: パラメータ化されたクエリ '(@application_ex_id nvarchar(4000))SELECT E.application_ex_id A'は、指定されていないパラメータ '@application_ex_id'を予期しています。 コード1: command.Parameters.AddWithValue("@application_ex_id", logSearch.LogID); コード2: if (logSearch.LogID != null) { command.Parameters.AddWithValue("@application_ex_id", logSearch.LogID); } else { command.Parameters.AddWithValue("@application_ex_id", DBNull.Value ); } 質問 コード1のlogSearch.LogID値からNULLを取得できない(ただしDBNullを受け入れることができる)理由を説明してください。 これを処理するためのより良いコードはありますか? 参照: SqlParameterにnullを割り当てます 返されるデータ型は、テーブルのデータによって異なります データベースsmallintからC#nullableintへの変換エラー DBNullのポイントは何ですか? コード public Collection<Log> GetLogs(LogSearch logSearch) { Collection<Log> logs = new Collection<Log>(); using (SqlConnection …
89 c#  .net  ado.net 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.