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

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

4
Visual Studio2008テストフレームワークで配列が等しいことを表明します
2つの配列が等しい(つまり、要素の数が同じで、各要素が同じである)ことを単体テストで確認する簡単な方法はありますか? Javaでは、を使用しますがassertArrayEquals (foo, bar);、C#に相当するものはないようです。試しましたAssert.AreEqual(new string[]{"a", "b"}, MyFunc("ab"));が、関数が「a」、「b」の配列を返しても、チェックは失敗します これは、組み込みの単体テストフレームワークを備えたVisual Studio 2008 TeamSuiteを使用しています。

24
エラーCS0433「タイプ 'X'はA.dllとB.dllの両方にすでに存在します」はどこから来ていますか?
内部Webサーバー(IISではない)を使用してVisual Studio 2008 SP1からWebアプリを実行すると、上記のエラーが発生します。 完全なエラー(ソースファイルDefault.aspx.cs): コンパイラエラーメッセージ:CS0433:タイプ 'WebApplication3.Site1'は両方の 'c:\ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ Temporary ASP.NET Files \ root \ aa563bcf \ 59deedc0 \ App_Web_site1.master.cdcab7d2に存在します。 muczzy9v.dll 'および' c:\ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ Temporary ASP.NET Files \ root \ aa563bcf \ 59deedc0 \ assembly \ …

7
なぜ新しいキーワードが必要なのですか?また、デフォルトの動作が非表示でオーバーライドされないのはなぜですか?
私はこのブログ投稿を見ていて、次の質問がありました。 newキーワードが必要なのは、基本クラスのメソッドが非表示になっていることを指定するためだけです。つまり、なぜそれが必要なのですか?overrideキーワードを使わないのなら、基本クラスのメソッドを隠していませんか? C#のデフォルトが非表示でオーバーライドされないのはなぜですか?なぜ設計者はそれをこのように実装したのですか?
81 c#  overriding 

4
Linq-to-SQL ToDictionary()
Linqを使用してSQL(2008)から2つの列を(キャッシュ用の)辞書に適切に変換するにはどうすればよいですか? 現在、IQueryable b / cをループしていますが、ToDictionaryメソッドを機能させることができません。何か案は?これは機能します: var query = from p in db.Table select p; Dictionary<string, string> dic = new Dictionary<string, string>(); foreach (var p in query) { dic.Add(sub.Key, sub.Value); } 私が本当にやりたいのは、このようなものですが、機能していないようです。 var dic = (from p in db.Table select new {p.Key, p.Value }) .ToDictionary<string, string>(p => p.Key); しかし、このエラーが発生します:「System.Linq.IQueryable」から「System.Collections.Generic.IEnumerable」に変換できません
81 c#  linq  linq-to-sql 

3
'System.Int32'から 'System.Nullable`1 [[System.Int32、mscorlib]]へのキャストが無効です
Type t = typeof(int?); //will get this dynamically object val = 5; //will get this dynamically object nVal = Convert.ChangeType(val, t);//getting exception here 上記のコードでInvalidCastExceptionが発生しています。int? nVal = val上記の場合、単純に書くことができますが、上記のコードは動的に実行されます。 オブジェクト(ここではval)にラップされた値(int、floatなどのnull許容型ではない)を取得しています。別の型(null許容バージョンにすることもできないこともあります)にキャストして、別のオブジェクトに保存する必要があります。それの)。いつ 'System.Int32'から 'System.Nullable`1 [[System.Int32、mscorlib、Version = 4.0.0.0、Culture = neutral、PublicKeyToken = b77a5c561934e089]]'へのキャストが無効です。 はint、にコンバーチブル/タイプキャスト可能である必要がありますnullable intが、ここでの問題は何ですか?

5
C#の属性パラメータとして10進値を使用しますか?
フィールド属性のパラメータとして10進値を使用しようとしましたが、コンパイラエラーが発生します。 .NETでは使用できなかったというこのブログ投稿リンクを見つけました。なぜこれを選択するのか、または10進パラメーターを使用するにはどうすればよいか誰か知っていますか?

5
IHttpHandlerとIHttpModule
私の質問は単純です(答えはおそらくそうではないでしょうが):C#/ ASP.NETでサーバー側のアップロードハンドラーを実装する方法を決定しようとしています。 私はHttpModules(IHttpModuleインターフェイス)とHttpHandlers(IHttpHandlerインターフェイス)の両方を使用しましたが、どちらのメカニズムを使用してもこれを実装できると思います。また、両者の違いがわからないこともあります。 だから私の質問はこれです: どのような場合に私はIHttpModuleの代わりにIHttpHandlerを使用することを選択しますか(およびその逆)? パイプラインではるかに高く実行されますか?特定の状況で構成するのははるかに簡単ですか?中程度のセキュリティではうまく機能しませんか?

3
System.Net.WebRequestがサポートするSSL / TLSのバージョンはどれですか?
SSL 3は、POODLE攻撃に対して脆弱であることが判明しました。 httpsUriに接続するときにSystem.Net.WebRequestが使用するSSL / TLSのバージョンはどれですか? WebRequestを使用していくつかのサードパーティAPIに接続します。これらの1つは、SSL 3を使用するすべての要求をブロックすると述べています。ただし、WebRequestは.Netコアフレームワーク(4.5を使用)の一部であるため、使用するバージョンが明確ではありません。

10
SqlConnectionタイムアウトの変更
デフォルトのSqlConnectionタイムアウトである15秒を上書きしようとすると、次のようなエラーが発生します。 プロパティまたはインデクサは読み取り専用であるため、割り当てることができません。 これを回避する方法はありますか? using (SqlConnection connection = new SqlConnection(Database.EstimatorConnection)) { connection.Open(); using (SqlCommand command = connection.CreateCommand()) { command.CommandType = CommandType.StoredProcedure; connection.ConnectionTimeout = 180; // This is not working command.CommandText = "sproc_StoreData"; command.Parameters.AddWithValue("@TaskPlanID", order.Projects[0].TaskPlanID); command.Parameters.AddWithValue("@AsOfDate", order.IncurDate); command.ExecuteNonQuery(); } }

6
リフレクション付きの「キャスティング」
次のサンプルコードを検討してください。 class SampleClass { public long SomeProperty { get; set; } } public void SetValue(SampleClass instance, decimal value) { // value is of type decimal, but is in reality a natural number => cast instance.SomeProperty = (long)value; } 今、私はリフレクションを通して同様のことをする必要があります: void SetValue(PropertyInfo info, object instance, object value) { // throws System.ArgumentException: …
81 c#  reflection  casting 

4
ASP.NET Identity2.0で現在のユーザーIDを取得します
IdentityFrameworkの新しい2.0バージョンを使用するように切り替えました。1.0では、を使用してユーザーオブジェクトを取得できましたmanager.FindByIdAsync(User.Identity.GetUserId())。このGetUserId()メソッドは2.0には存在しないようです。 今私が理解できるのmanager.FindByEmailAsync(User.Identity.Name)は、usersテーブルのusernameフィールドを参照するものを使用することだけです。私のアプリケーションでは、これは電子メールフィールドと同じに設定されています。 誰かが自分の電子メールを更新する必要があるときに、これが将来的に問題を引き起こすことがわかります。Identity 2.0フレームワークの不変の値(idフィールドなど)に基づいて、現在ログインしているユーザーオブジェクトを取得する方法はありますか?

9
リフレクションを使用して宣言順にプロパティを取得する
クラスで宣言されている順序でリフレクションを使用してすべてのプロパティを取得する必要があります。MSDNによると、使用時に順序を保証することはできませんGetProperties() GetPropertiesメソッドは、アルファベット順や宣言順など、特定の順序でプロパティを返しません。 ただし、プロパティをで並べ替えることで回避策があることを読みましたMetadataToken。だから私の質問は、それは安全ですか?それに関するMSDNの情報が見つからないようです。または、この問題を解決する他の方法はありますか? 私の現在の実装は次のようになります。 var props = typeof(T) .GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic) .OrderBy(x => x.MetadataToken);

4
C#経由でWebサイトにログインします
私はC#の使用に比較的慣れておらず、Webサイトのソースコードの一部を読み取るアプリケーションを持っています。それはすべて機能します。ただし、問題は、問題のページでこのソースコードにアクセスするためにユーザーがログインする必要があることです。私のプログラムには、最初にユーザーをWebサイトにログインさせる方法が必要です。その後、ソースコードにアクセスして読み取ることができるようになります。 ログインする必要のあるWebサイトは次のとおりです。mmoinn.com/ index.do?PageModule = UsersLogin 私はこれを行う方法について一日中検索し、例を試しましたが、運がありませんでした。 前もって感謝します

7
Dictionary <string、object>を匿名オブジェクトに変換しますか?
まず、物事を明確にするために、シナリオを上から説明します。 次の署名を持つメソッドがあります。 public virtual void SendEmail(String from, List&lt;String&gt; recepients, Object model) 私がやりたいのは、最初の2つのパラメーターとともにモデルオブジェクトのプロパティを持つ匿名オブジェクトを生成することです。モデルオブジェクトをPropertyInfo []にフラット化するのは非常に簡単です。したがって、PropertyInfoと最初の2つのパラメータを保持し、キーがプロパティの名前で値がプロパティの実際の値である匿名オブジェクトに変換されるディクショナリを作成することを考えました。 それは可能ですか?他に何か提案はありますか?

9
ConfigurationManager.AppSettings-変更して保存する方法は?
質問するのは些細なことのように聞こえるかもしれません。私は記事で提案されているのと同じことをしますが、期待どおりに機能しません。誰かが私を正しい方向に向けることができることを願っています。 AppSettingsごとにユーザー設定を保存したいと思います。 Winformが閉じたら、これをトリガーします。 conf.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); if (ConfigurationManager.AppSettings["IntegrateWithPerforce"] != null) ConfigurationManager.AppSettings["IntegrateWithPerforce"] = e.Payload.IntegrateCheckBox.ToString(); else config.AppSettings.Settings.Add("IntegrateWithPerforce", e.Payload.IntegrateCheckBox.ToString()); config.Save(ConfigurationSaveMode.Modified); したがって、エントリがまだ存在しない場合は、単に作成するだけです。それ以外の場合は、既存のエントリを変更します。ただし、これは保存されません。 1)私は何が間違っていますか? 2)アプリ設定のユーザー設定が再び保存されることを期待していますか?DebugフォルダーまたはC:\ Documents and Settings \ USERNAME \ Local Settings \ Application Dataフォルダーにありますか?

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