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

C#4.0では、動的オブジェクト、COMの相互運用性の向上、一般的な共分散と逆分散、オプションの名前付きパラメーターなどの機能が導入されました。質問がC#4.0固有の機能に特に関係する場合は、このタグを使用してください。質問がC#4.0の機能に固有でない場合は、C#タグを使用する必要があります。

9
共分散と反分散の実世界の例
現実の世界で共分散と反変をどのように使用するかを理解するのに少し問題があります。 これまでのところ、私が見た唯一の例は、同じ古い配列の例です。 object[] objectArray = new string[] { "string 1", "string 2" }; それが他の場所で使用されているのを見ることができれば、開発中にそれを使用できるようにする例を見るとよいでしょう。
162 c#  c#-4.0  covariance 

7
C#Create New T()
次のコードで、私が何をしようとしているのか(ただし失敗しているのか)を確認できます。 protected T GetObject() { return new T(); } どんな助けでも大歓迎です。 編集: コンテキストは次のとおりです。私は、標準化されたメソッドを使用して、すべてのコントローラーから派生するカスタムコントローラークラスをいじっていました。したがって、コンテキストでは、コントローラータイプのオブジェクトの新しいインスタンスを作成する必要がありました。したがって、執筆時点では、次のようなものでした。 public class GenericController<T> : Controller { ... protected T GetObject() { return (T)Activator.CreateInstance(ObjectType); } public ActionResult Create() { var obj = GetObject() return View(obj); } そして、私はここでの反射が最も簡単だと判断しました。私は確かに、質問の最初のステートメントを考えると、正しいとマークするための最も適切な答えはnew()制約を使用するものであったことに同意します。私はそれを修正しました。
158 c#  .net  generics  c#-4.0  .net-4.0 

3
HttpClientを同時に使用しても安全ですか?
私が使用できるすべての例でHttpClient、1回限りの呼び出しに使用されます。しかし、複数の要求を同時に行うことができる永続的なクライアント状況がある場合はどうなりますか?基本的に、client.PostAsyncの同じインスタンスに対して一度に2つのスレッドを呼び出しても安全ですかHttpClient。 私は実際にここで実験結果を探しているわけではありません。実際の例としては、単純にまとまりのあるもの(および永続的なもの)である可能性があり、失敗した例の場合は、構成の問題がある可能性があります。理想的には、HttpClientでの並行処理の問題に対する信頼できる回答を探しています。

4
共分散と反分散が値タイプをサポートしない理由
IEnumerable<T>あるコバリアントが、それは値型、ちょうどのみ参照型をサポートしていません。以下の単純なコードは正常にコンパイルされています。 IEnumerable<string> strList = new List<string>(); IEnumerable<object> objList = strList; しかし、からstringに変更するintと、コンパイルエラーが発生します。 IEnumerable<int> intList = new List<int>(); IEnumerable<object> objList = intList; その理由はMSDNで説明されています: 分散は参照型にのみ適用されます。バリアント型パラメーターに値の型を指定すると、その型パラメーターは、結果の構成型に対して不変になります。 私が検索したところ、値の型と参照の型の間のボクシングが原因であると述べたいくつかの質問が見つかりました。しかし、ボクシングが理由である理由はまだ私の心をはっきりさせませんか? 共分散と反変が値タイプをサポートしない理由と、ボクシングがこれにどのように影響するかについて、簡単で詳細な説明を誰かに教えてもらえますか?


4
Linqを使用して各グループの最初のレコードを取得する方法
次のレコードを検討します。 Id F1 F2 F3 ------------------------------------------------- 1 Nima 1990 10 2 Nima 1990 11 3 Nima 2000 12 4 John 2001 1 5 John 2002 2 6 Sara 2010 4 F1フィールドに基づいてグループ化し、並べ替えてId、これらのレコードに類似したグループの最初のレコードからすべてのフィールドを取得したいと思います。 Id F1 F2 F3 ------------------------------------------------- 1 Nima 1990 10 4 John 2001 1 6 Sara 2010 4 どうすればlinqを使用してこれを行うことができますか?

7
WPFにMain()はありませんか?
私はプログラミングに関しては初心者ですが、プログラムがMain()で始まるという共通のルールの1つだと確信していました。WPFプロジェクトを作成するときに表示されません。Main()はWPFで単に別の名前を付けていますか?
128 c#  wpf  c#-4.0  main 

8
C#4.0:TimeSpanを省略可能なパラメーターとして既定値で使用できますか?
これらはどちらも、コンパイル時の定数でなければならないというエラーを生成します。 void Foo(TimeSpan span = TimeSpan.FromSeconds(2.0)) void Foo(TimeSpan span = new TimeSpan(2000)) まず第一に、これらの値がコンパイル時に決定できない理由を誰かが説明できますか?また、オプションのTimeSpanオブジェクトのデフォルト値を指定する方法はありますか?

5
別のコントローラーのアクションにリダイレクトします
2つのコントローラーがあり、どちらもと呼ばれていAccountControllerます。そのうちの一つは、それを呼び出すことができますController Aしている、Areaと呼ばれAdmin、それを呼び出すことができますし、他のController Bいずれにもない、Area(私はそれがデフォルトでだという意味を推測しますArea?)。 Controller Bしているaction methodと呼ばれますLogin。私はこの行を持つaction methodin Controller Aを持っています return RedirectToAction("LogIn", "Account"); 問題は、に404存在actionしないものにリダイレクトしようとしたため、この行が実行されたときにを取得することController Aです。私は、呼び出したいaction methodではController B。これは可能ですか?

8
ワークフローするかしないか?
私は、軽量保険金請求システムの開発を開始しようとしている開発者チームの責任者です。システムには多くの手動タスクとビジネスワークフローが含まれており、Windowsワークフロー(.NET 4.0)の使用を検討しています。 ビジネスドメインの例は次のとおりです。保険契約者は、コンタクトセンターに電話して、申し立てを提出します。この「イベント」は、手動で並行して実行される2つのサブタスクを起動し、完了するまでに長い時間がかかる場合があります。 顧客の不正をチェック–オペレーターが手動でさまざまなクレジット会社に電話をかけ、不正な顧客の可能性をチェックして評価します。ここから、サブタスクはいくつかのサブステータス(進行中のチェック、参照チェックの失敗、参照チェックの合格など)を入力できます。 修理センターへのアイテムの送信–保険契約者が申し立てを提出したアイテムが修理センターに送られ、修理される手動プロセス。ここから、サブタスクはいくつかのサブステータス(修復待ち、進行中、修復済み、投稿済みなど)を入力できます。クレームは、各サブタスクのステータスが事前定義されたステータス(ビジネスルールに基づく)に達した場合にのみ続行できます。 表面的には、ワークフローは確かに最良のテクノロジーの選択のようです。しかし、私はWF 4.0の使用に関していくつかの懸念を持っています。 スキルセット–平均的な開発者スキルセットを見ると、ワークフローを理解または知っている開発者はあまり見かけません。 保守性– WF 4.0プロジェクトに対するコミュニティ内のサポートはほとんどないようで、スキルセットの欠如と相まって、保守性に関する懸念が生じています。 参入障壁–私は、Windowsワークフローの学習曲線が急であり、必ずしも簡単に習得できるとは限らないと感じています。 新製品–ワークフローが.NET 4.0用に完全に書き直されたので、私はこの製品を第1世代の製品と見なしており、必要な安定性がない可能性があります。 評判–以前のバージョンのワークフローは十分に評価されておらず、開発が困難であると考えられ、ビジネスへの関心が低かった。 私の質問は、この状況ではWindowsワークフロー(WF)4.0を使用する必要があるか、それとも代替テクノロジー(Simple State Machineなど)を使用するか、それともより優れたワークフローエンジンを使用するかということです。

10
c#で動的匿名型にプロパティが存在するかどうかを確認するにはどうすればよいですか?
プロパティからチェックインしたいメソッドから動的として受け取る匿名タイプのオブジェクトがそのオブジェクトに存在します。 .... var settings = new { Filename="temp.txt", Size=10 } ... function void Settings(dynamic settings) { var exists = IsSettingExist(settings,"Filename") } IsSettingExistはどのように実装しますか?

4
C#でカスタム属性を作成する方法
私は何度も試しましたが、それでもカスタム属性の使い方を理解できません(すでにたくさんのリンクを調べました)。 コード付きのカスタム属性の非常に基本的な例を誰かに説明してもらえますか?



10
`+ =`のC#演算子のオーバーロード?
の演算子のオーバーロードを実行しようとしていますが、実行+=できません。の演算子をオーバーロードにすることしかできません+。 どうして? 編集する これが機能しない理由は、Vectorクラス(XおよびYフィールド付き)があるためです。次の例を考えてみましょう。 vector1 += vector2; オペレーターのオーバーロードが次のように設定されている場合: public static Vector operator +(Vector left, Vector right) { return new Vector(right.x + left.x, right.y + left.y); } その後、結果はvector1に追加されませんが、代わりにvector1も参照によりまったく新しいベクターになります。

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