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

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

3
XUnitを使用して例外をアサートする
私はXUnitとMoqの初心者です。文字列を引数として受け取るメソッドがあります。XUnitを使用して例外を処理する方法。 [Fact] public void ProfileRepository_GetSettingsForUserIDWithInvalidArguments_ThrowsArgumentException() { //arrange ProfileRepository profiles = new ProfileRepository(); //act var result = profiles.GetSettingsForUserID(""); //assert //The below statement is not working as expected. Assert.Throws<ArgumentException>(() => profiles.GetSettingsForUserID("")); } テスト中のメソッド public IEnumerable<Setting> GetSettingsForUserID(string userid) { if (string.IsNullOrWhiteSpace(userid)) throw new ArgumentException("User Id Cannot be null"); var s = profiles.Where(e => …
111 c#  unit-testing  xunit 

5
.NET Reactive Extensionsでサブジェクトが推奨されないのはなぜですか?
私は現在、.NETのReactive Extensionsフレームワークに慣れつつあり、私が見つけたさまざまな導入リソース(主にhttp://www.introtorx.com)に取り組んでいます 私たちのアプリケーションには、ネットワークフレームを検出するいくつかのハードウェアインターフェイスが含まれます。これらはIObservableになります。次に、これらのフレームを使用したり、データに対して何らかの変換を実行して新しいタイプのフレームを生成したりするさまざまなコンポーネントがあります。たとえば、n番目のフレームごとに表示する必要がある他のコンポーネントもあります。Rxがアプリケーションに役立つと確信していますが、IObserverインターフェイスの実装の詳細に苦労しています。 私が読んでいたリソースのほとんど(すべてではないにしても)は、IObservableインターフェイスを自分で実装するのではなく、提供された関数またはクラスの1つを使用するべきだと述べています。私の研究から、を作成するSubject<IBaseFrame>と必要なものが提供されるように見えSubject<IBaseFrame>ます。ハードウェアインターフェイスからデータを読み取り、インスタンスのOnNext関数を呼び出す単一のスレッドが必要です。異なるIObserverコンポーネントは、そのサブジェクトから通知を受け取ります。 私の混乱は、このチュートリアルの付録に書かれているアドバイスから来ています: サブジェクトタイプの使用は避けてください。Rxは事実上、関数型プログラミングのパラダイムです。サブジェクトを使用するということは、状態を管理していることを意味します。状態の変化と非同期プログラミングの両方を同時に処理することは、正しく行うのが非常に困難です。さらに、多くの演算子(拡張メソッド)は、サブスクリプションとシーケンスの正確で一貫したライフタイムが維持されるように注意深く書かれています。主題を紹介すると、これを壊すことができます。サブジェクトを明示的に使用すると、将来のリリースでもパフォーマンスが大幅に低下する可能性があります。 私のアプリケーションはパフォーマンスが非常に重要です。Rxパターンを使用してパフォーマンスをテストしてから、本番用コードに移行します。ただし、Subjectクラスを使用してRxフレームワークの精神に反することを行っていること、およびフレームワークの将来のバージョンがパフォーマンスを低下させることを心配しています。 私がやりたいことを行うより良い方法はありますか?ハードウェアポーリングスレッドは、オブザーバーの有無に関係なく継続的に実行されるため(HWバッファーはそれ以外の場合にバックアップされます)、これは非常にホットなシーケンスです。次に、受信したフレームを複数のオブザーバーに渡す必要があります。 どんなアドバイスもいただければ幸いです。

10
JSON.Net自己参照ループが検出されました
私のウェブサイトには、4つのテーブル内にmssqlデータベースがあります。 私がこれを使うとき: public static string GetAllEventsForJSON() { using (CyberDBDataContext db = new CyberDBDataContext()) { return JsonConvert.SerializeObject((from a in db.Events where a.Active select a).ToList(), new JavaScriptDateTimeConverter()); } } このコードにより、次のエラーが発生します。 Newtonsoft.Json.JsonSerializationException:タイプ「DAL.Cyber​​User」のプロパティ「Cyber​​User」で自己参照ループが検出されました パス '[0] .EventRegistrations [0] .Cyber​​User.UserLogs [0]'。

15
C#を使用したDateTime形式からSQL形式への変換
現在の日付時刻形式をC#から保存し、SQL Serverの日付形式に変換してyyyy-MM-dd HH:mm:ss、UPDATEクエリで使用できるようにしています。 これは私の最初のコードでした: DateTime myDateTime = DateTime.Now; string sqlFormattedDate = myDateTime.Date.ToString("yyyy-MM-dd HH:mm:ss"); 日付の出力は問題ありませんが、時間は常に「12:00:00」なので、コードを次のように変更しました。 string sqlFormattedDate = myDateTime.Date.ToString("yyyy-MM-dd") + " " + myDateTime.TimeOfDay.ToString("HH:mm:ss"); それは私にこのコンパイルエラーを与えました: FormatExceptionが処理されませんでした そして、私が解析する必要があることを示唆しました。だから私はここStackOverflowで私の研究に従って私のコードにこれをやってみました: string sqlFormattedDate = myDateTime.Date.ToString("yyyy-MM-dd") + " " + myDateTime.Parse.TimeOfDay.ToString("HH:mm:ss"); または string sqlFormattedDate = myDateTime.Date.ToString("yyyy-MM-dd") + " " + myDateTime.tryParse.TimeOfDay.ToString("HH:mm:ss"); しかし、これは、特定のコンテキストでは無効なメソッドであることを教えてくれます。私は自分の問題の解決策を探してみましたが、2時間もたってしまいました。私はまだC#で​​少し新しいですが、私を助けてくれますか?
111 c#  sql  datetime 

7
プロジェクトが「.NETFramework、Version = v4.6.2」フレームワークを参照していません。「TargetFrameworks」に「.NETFramework、Version = v4.6.2」への参照を追加します
ユニットテストを実行できません。 次のエラーがあります: プロジェクトが「.NETFramework、Version = v4.6.2」フレームワークを参照していません。プロジェクトファイルの「TargetFrameworks」プロパティに「.NETFramework、Version = v4.6.2」への参照を追加してから、NuGet復元を再実行します。 でapp.config: <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2"/> </startup> プロジェクト>プロパティ>アプリケーション> TargetFramework(.NET Framework 4.6.2) どうすれば修正できますか?


6
ASP.NET MVC:DataAnnotationによるカスタム検証
文字列型の4つのプロパティを持つモデルがあります。StringLengthアノテーションを使用して、単一のプロパティの長さを検証できることを知っています。ただし、4つのプロパティを組み合わせた長さを検証したいと思います。 データアノテーションでこれを行うMVCの方法は何ですか? 私はMVCが初めてで、自分のソリューションを作成する前に正しい方法でそれを実行したいので、これを求めています。

22
最初に1 = 1を使用するよりも、SQL WHERE句を動的に構築するより良い方法はありますか?
私はいくつかの建物だSQLの C#でクエリを。コードに変数として格納されているいくつかの条件によって異なります。 string Query="SELECT * FROM Table1 WHERE 1=1 "; if (condition1) Query += "AND Col1=0 "; if (condition2) Query += "AND Col2=1 "; if (condition3) Query += "AND Col3=2 "; 動作しますが、1 = 1のテストはエレガントに見えません。使用しなかった場合は、クエリに "where"キーワードが既に追加されているかどうかを毎回覚えて確認する必要があります。 より良い解決策はありますか?
110 c#  sql 

8
ASP.NET Web APIのカスタムメソッド名
WCF Web APIから新しいASP.NET MVC 4 Web APIに変換しています。UsersControllerがあり、Authenticateという名前のメソッドが必要です。GetAll、GetOne、Post、およびDeleteの方法の例が表示されますが、これらのサービスにメソッドを追加したい場合はどうなりますか?たとえば、UsersServiceには、ユーザー名とパスワードを渡すAuthenticateというメソッドが必要ですが、機能しません。 public class UsersController : BaseApiController { public string GetAll() { return "getall!"; } public string Get(int id) { return "get 1! " + id; } public User GetAuthenticate(string userName, string password, string applicationName) { LogWriter.Write(String.Format("Received authenticate request for username {0} and password {1} …


4
Webリファレンスとサービスリファレンス
Paypalで巨大なレンガの壁にぶつかっただけです。WSDLを使用してラッパークラスを作成する通常のC#プロジェクトを作成しました。 非Webプロジェクトを作成する場合、wsdlを追加するための唯一のオプションはWebサービス参照です。そして、これはWebリファレンスと同じプロキシクラスのセットを構築しますが、実際にはそうではありません。 そのため、私はこのプロキシクラスのリストでサービス(SoapBinding)として使用する適切なインターフェイスをずっと探していましたPayPalAPIAASoapBindingが、PayPalの連絡先に連絡していませんでした。 PayPalAPIAASoapBindingWeb参照ベースのサービス参照で確認できるインターフェースが見つからなかったため、使用する必要があるものを表示する次の2つのインターフェースしか確認できませんでした。 PayPalAPIAAInterfaceClient PayPalAPIInterfaceClient それで、ああ、わかった。たぶん、サービス参照対Web参照を作成しました。Web参照は、Webプロジェクトのオプションです。しかし、私は自分のサービス参照を自分のWebプロジェクトに密に結合したくありません。だからこそ、C#プロジェクトを作成しました。 では、サービス参照とWeb参照とは一体何なのでしょうか。そして、Service Referenceがループをスローし、Webリファレンスが提供するものとは異なる一連のインターフェイスを提供する場合、これを別のプロジェクトにどのように分離するべきですか? また、状況をさらに混乱させるために、VS 2008にはWebサービスアプリケーションプロジェクトがあります。 だから私は何を使うのですか? .NET 3.5フレームワークを使用しており、WCFに移行する準備が整っていません。WCFを使用していなくても、新しいサービスリファレンスを使用できますか?まだWCFではなく.NET 3.5を使用していて、基本的なWebサービスを実行したい場合でも、サービス参照ルートに進んでWCFフレームワークを使用しないのですか?それでも.NET 2.0 Webリファレンスのように使用できるということですが、まったく異なる世代のWSDLを取得するということですか?
110 c#  .net-3.5  paypal 

1
VSデバッガーの「マジックネーム」について学ぶ場所
リフレクターを使用したことがあれば、C#コンパイラーが型、メソッド、フィールド、ローカル変数を生成することに気づいたでしょう。これらはデバッガーによる「特別な」表示に値します。たとえば、「CS $」で始まるローカル変数はユーザーに表示されません。匿名メソッドのクロージャタイプ、自動プロパティのバッキングフィールドなどには、他にも特別な命名規則があります。 私の質問:これらの命名規則についてどこで学ぶべきですか?誰かがいくつかのドキュメントについて知っていますか? 私の目的は、PostSharp 2.0で同じ規則を使用することです。


4
ICloneableをC#で実装する必要があるのはなぜですか?
メソッドを継承しICloneableて実装する理由を教えていただけますClone()か? ディープコピーを実行する場合、メソッドを実装することはできませんか?言いましょうMyClone()か? なぜ継承する必要がありICloneableますか?利点は何ですか?コードを「読みやすく」するだけの問題ですか?
110 c#  .net  cloneable  icloneable 

5
ジェネリックリストのDESCおよびASCを並べ替える方法を教えてください。
ジェネリックリストのDESCおよびASCを並べ替える方法を教えてください。LINQを使用してLINQを使用せずに?VS2008を使用しています。 class Program { static void Main(string[] args) { List<int> li = new List<int>(); li.Add(456); li.Add(123); li.Add(12345667); li.Add(0); li.Add(1); li.Sort(); foreach (int item in li) { Console.WriteLine(item.ToString() + "\n"); } Console.ReadKey(); } }
110 c#  .net  linq 

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