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

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


13
C#4.0でオーバーロードまたはオプションのパラメーターを使用してメソッドを宣言する必要がありますか?
C#4.0についてのアンダースの話とC#5.0のプレビューを見ていて、C#でオプションのパラメーターが利用できる場合、すべてのパラメーターを指定する必要のないメソッドを宣言するために推奨される方法は何かを考えましたか? たとえば、何かFileStreamのクラスは、論理の家族'という文字列から、以下の例のものに分けることができる15程度異なるコンストラクタ、からのものがあるIntPtrとAからのものをSafeFileHandle。 FileStream(string,FileMode); FileStream(string,FileMode,FileAccess); FileStream(string,FileMode,FileAccess,FileShare); FileStream(string,FileMode,FileAccess,FileShare,int); FileStream(string,FileMode,FileAccess,FileShare,int,bool); このタイプのパターンは、代わりに3つのコンストラクターを使用し、デフォルトのパラメーターにオプションのパラメーターを使用することで簡略化できるように思えます。これにより、コンストラクターの異なるファミリーをより明確にすることができますBCLで作成された、私はこの種の状況について仮説的に話している]。 どう思いますか?C#4.0以降では、コンストラクターとメソッドの密接に関連するグループをオプションのパラメーターを持つ単一のメソッドにする方が理にかなっていますか、それとも従来の多くのオーバーロードメカニズムに固執する十分な理由がありますか?

2
部分クラスファイルの命名規則
ASP.NET MVC足場コードの大部分を生成しています。生成されたファイルはすべて、標準の命名規則を使用する部分クラスです。たとえば、私の従業員コントローラーファイルの名前はEmployeeController.csです。生成されていないカスタムロジックでEmployeeControllerを拡張する場合は、EmployeeControllerCustom.csという名前の2番目の部分クラスファイルを作成します。カスタムロジックと生成されたロジックを2つの異なるファイルに分離したので、次にEmployeeControllerを生成したときに、カスタムの変更が上書きされません。「カスタム」サフィックスをファイル名に追加することは私には理にかなっているようですが、私が従うべきより確立された部分クラスファイルの命名規則がありますか

4
C#:静的メソッドが複数のスレッドから呼び出された場合はどうなりますか?
私のアプリケーションには、複数のスレッドから同時に呼び出される静的メソッドがあります。データが混同される危険性はありますか? 最初の試みでは、メソッドは静的ではなく、クラスの複数のインスタンスを作成していました。その場合、私のデータはどういうわけか混乱しました。たまにしか発生しないため、これがどのように発生するかはわかりません。まだデバッグ中です。しかし今、メソッドは静的です。今のところ問題はありません。多分それは運だけです。よくわかりません。


2
Razorビューでの文字列補間?
これはサポートされていますか? もしそうなら、それを有効にするためのいくつかのトリックはありますか?Razorが十分に新しいコンパイラを使用していないと思います...?VS2015 IDEはそれで問題ないようですが、実行時に私は得ています CS1056:予期しない文字「$」
93 c#  asp.net-mvc  razor  c#-6.0 

6
C#関数を辞書に保存する
関数を格納できる辞書を作成するにはどうすればよいですか? ありがとう。 ユーザーから実行できる約30以上の機能があります。この方法で関数を実行できるようにしたい: private void functionName(arg1, arg2, arg3) { // code } dictionaryName.add("doSomething", functionName); private void interceptCommand(string command) { foreach ( var cmd in dictionaryName ) { if ( cmd.Key.Equals(command) ) { cmd.Value.Invoke(); } } } ただし、関数のシグネチャは常に同じではないため、引数の数が異なります。

10
どうすれば404をキャッチできますか?
私は次のコードを持っています: HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); request.Method = "HEAD"; request.Credentials = MyCredentialCache; try { request.GetResponse(); } catch { } 特定の404エラーをキャッチするにはどうすればよいですか?WebExceptionStatus.ProtocolErrorは、エラーが発生したことを検出するだけで、エラーの正確なコードを提供することはできません。 例えば: catch (WebException ex) { if (ex.Status != WebExceptionStatus.ProtocolError) { throw ex; } } 十分に役に立たないだけです...プロトコル例外は401、503、403など、実際には何でもかまいません。

9
C#のコメント継承(実際には任意の言語)
このインターフェイスがあるとしましょう public interface IFoo { ///<summary> /// Foo method ///</summary> void Foo(); ///<summary> /// Bar method ///</summary> void Bar(); ///<summary> /// Situation normal ///</summary> void Snafu(); } そしてこのクラス public class Foo : IFoo { public void Foo() { ... } public void Bar() { ... } public void Snafu() { …

30
プロジェクトファイルが不完全です。予想されるインポートがありません
コンピューターをフォーマットした後、Vs 2017 V 15.6.3を再インストールし、Microsoft 2.1.4からASP.Net Core SDKをインストールしました しかし、新しいASPコアアプリケーションを作成すると、VSがエラーで失敗しました 「プロジェクトファイルが不完全です。必要なインポートがありません」 誰か、助けてもらえますか?

15
AddBusinessDaysおよびGetBusinessDays
私は2つのエレガントで完全な実装を見つける必要があります public static DateTime AddBusinessDays(this DateTime date, int days) { // code here } and public static int GetBusinessDays(this DateTime start, DateTime end) { // code here } O(1)が望ましい(ループなし)。 編集:営業日とは、営業日(月、火、水、木、金)を意味します。休日はなく、週末のみが除外されます。 私はすでに機能しているように見える醜い解決策をいくつか持っていますが、これを行うためのエレガントな方法はあるのでしょうか。ありがとう これは私がこれまで書いたものです。それはすべてのケースで機能し、ネガも行います。GetBusinessDays実装がまだ必要です public static DateTime AddBusinessDays(this DateTime startDate, int businessDays) { int direction = Math.Sign(businessDays); if(direction == 1) { if(startDate.DayOfWeek …
93 c#  .net 

17
C#のファクトリパターン:オブジェクトインスタンスがファクトリクラスによってのみ作成されることを確実にする方法は?
最近、自分のコードの一部を保護することを考えています。オブジェクトが直接作成されないようにするにはどうすればよいのか興味がありますが、ファクトリクラスのメソッドを介してのみ作成できます。「ビジネスオブジェクト」クラスがあり、このクラスのインスタンスが有効な内部状態になるようにしたいとします。これを実現するには、オブジェクトを作成する前に、おそらくそのコンストラクタで、いくつかのチェックを実行する必要があります。このチェックをビジネスロジックの一部にすることを決定するまで、これで問題ありません。それでは、ビジネスロジッククラスのいくつかのメソッドを介してのみ、直接ではなく、ビジネスオブジェクトを作成できるようにするにはどうすればよいでしょうか。C ++の古き良き「フレンド」キーワードを使用する最初の自然な欲求は、C#では不十分です。他のオプションが必要です... いくつかの例を試してみましょう: public MyBusinessObjectClass { public string MyProperty { get; private set; } public MyBusinessObjectClass (string myProperty) { MyProperty = myProperty; } } public MyBusinessLogicClass { public MyBusinessObjectClass CreateBusinessObject (string myProperty) { // Perform some check on myProperty if (true /* check is okay */) return new MyBusinessObjectClass (myProperty); …

10
SQL Serverの接続文字列を設定する方法
簡単なC#アプリケーションを開発していますが、これを知りたいのです。アプリケーションをPCのSQL Serverに接続すると、接続文字列(サーバー名、パスワードなど)はわかりますが、別のアプリケーションに接続すると、 PC、SQL Serverの接続文字列は異なります。接続できるデフォルトのアカウントが付属しているSQL Serverの共通アカウントはありますか?saSQL Serverのアカウントについて聞いたことがありsaますか。

8
コンパイル時にファイルをアプリケーションフォルダにコピーする
.\bin\debug\コンパイル時にプロジェクトからフォルダーにコピーするファイルがある場合、それらをプロジェクトのルートに配置する必要があるようです。それらをサブフォルダーに入れると、.\bin\debug\それらが格納されているのと同じ構造でフォルダーにコピーされるようです。 これを回避する方法はありますか? ちょうどを明確にする:私が持っている場合MyFirstConfigFile.txtとMySecondConfigFile.txtでConfigFiles、フォルダ、私は彼らのセット出力にコピーするコピー...、それらはで表示され.\bin\debug\ConfigFiles\たフォルダ。それらを.\bin\debug\フォルダに表示します。
93 c#  visual-studio 

9
Visual Studioの開発者固有のapp.config / web.configファイル
いくつかの.NETプロジェクトがあり、特定の設定を構成ファイルに保存しています。 これで、各開発者は少し異なる独自の構成ファイルを持ちます(ローカルデータベースに接続するための異なる接続文字列、異なるWCFエンドポイントなど)。 現時点では、app / web.configファイルをチェックアウトして、ニーズに合わせて変更する傾向があります。 TFSから最新バージョンを取得するときに、誰かが自分の設定をチェックインしたり、カスタム構成を緩めることが時々あるため、これは多くの問題につながります。 このような状況にどう対処しますか?それとも、この問題はまったくありませんか?

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