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

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

4
asp.net web api post actionからリダイレクト
ASP.NET 4.0 Web APIは初めてです。POSTアクションの最後に別のURLにリダイレクトできますか?Response.Redirect(url) 実際には、MVCアプリケーションから(たとえばwww.abcmvc.com)Web API(たとえばwww.abcwebapi.com/upload)を介してファイルをアップロードします これuploadがPOSTアクションです。マルチパートフォームをWeb APIアップロードコントローラーの投稿アクションに投稿します。アップロードした後、にリダイレクトしたいと思いwww.abcmvc.comます。 これは可能ですか?


9
ConcurrentBag <>から単一の特定のオブジェクトを削除する方法は?
ConcurrentBag&lt;T&gt;.NET 4 の新機能を使用して、特定の特定のオブジェクトをそこから削除するには、TryTake()とTryPeek()利用できますか? それを削除したくないTryTake()場合は、使用して結果のオブジェクトをリストに追加することを考えていますが、何か不足しているように感じます。これは正しい方法ですか?
109 c#  c#-4.0 

3
Startは、promiseスタイルのタスクでは呼び出されない場合があります。例外が来ています
シンプルなwpfデスクトップアプリケーションを作成しています。UIにはボタンと.csファイルのようなコードがあります。 private void Button_Click_2(object sender, RoutedEventArgs e) { FunctionA(); } public void FunctionA() { Task.Delay(5000).Start(); MessageBox.Show("Waiting Complete"); } しかし、驚くべきことに、行Task.Delay(5000).Start();がスローされていInvalidOperationExceptionます: Startは、promiseスタイルのタスクでは呼び出されない場合があります。 なぜそれがこのようなものであるかを誰かが助けることができますか?
108 c#  c#-4.0  .net-4.0 


2
ジェネリックな共分散と逆分散はC#4.0でどのように実装されますか?
PDC 2008には参加しませんでしたが、C#4.0がジェネリック共分散と逆分散をサポートするように発表されたというニュースを聞きました。つまり、List&lt;string&gt;に割り当てることができますList&lt;object&gt;。それはどうでしょうか? Jon Skeetの著書C#in Depthでは、C#ジェネリックが共分散と逆分散をサポートしない理由が説明されています。それは主に安全なコードを書くためのものです。現在、C#4.0はそれらをサポートするように変更されました。それは混乱をもたらすでしょうか? C#4.0の詳細を説明できる人はいますか?

3
なぜこれ(null ||!TryParse)は条件付きで「割り当てられていないローカル変数の使用」を引き起こすのですか?
次のコードでは、割り当てられていないローカル変数 "numberOfGroups"が使用されます。 int numberOfGroups; if(options.NumberOfGroups == null || !int.TryParse(options.NumberOfGroups, out numberOfGroups)) { numberOfGroups = 10; } ただし、このコードは正常に機能します(ただし、ReSharperはこれ= 10は冗長であると言っています)。 int numberOfGroups = 10; if(options.NumberOfGroups == null || !int.TryParse(options.NumberOfGroups, out numberOfGroups)) { numberOfGroups = 10; } 私は何かが足りないのですか、それともコンパイラが気に入らないの||ですか? これをdynamic問題の原因に絞り込みました(options上のコードの動的変数でした)。問題はまだ残っていますが、なぜこれができないのですか? このコードはコンパイルされません: internal class Program { #region Static Methods private static void Main(string[] args) { …

10
WebApiでヘッダー値を追加および取得する方法
アプリケーションからWebApiメソッドにデータを送信できるように、WebApiでPOSTメソッドを作成する必要があります。ヘッダー値を取得できません。 ここで、アプリケーションにヘッダー値を追加しました。 using (var client = new WebClient()) { // Set the header so it knows we are sending JSON. client.Headers[HttpRequestHeader.ContentType] = "application/json"; client.Headers.Add("Custom", "sample"); // Make the request var response = client.UploadString(url, jsonObj); } WebApi postメソッドに従う: public string Postsam([FromBody]object jsonData) { HttpRequestMessage re = new HttpRequestMessage(); var headers = …



3
list <t>に別のリストが含まれているかどうかを確認します
私はこのようなパラメータのリストを持っています: public class parameter { public string name {get; set;} public string paramtype {get; set;} public string source {get; set;} } IEnumerable&lt;Parameter&gt; parameters; そして、私がそれをチェックしたい文字列の配列。 string[] myStrings = new string[] { "one", "two"}; パラメータリストを繰り返し処理し、sourceプロパティがmyStrings配列のいずれかと等しいかどうかを確認したいと思います。ネストされたforeachでこれを行うことはできますが、linqで遊んでいるので、ネストされたforeachが間違っていると感じる場所など、列挙可能な拡張メソッドのように、より良い方法でそれを行う方法を学びたいと思います。これを行うためのよりエレガントな好ましいlinq / lambda / delegeteの方法はありますか? ありがとう
97 c#  list  loops  c#-4.0  subset 

3
拡張メソッドと動的オブジェクト
問題を次のコードスニペットに要約します。 List&lt;int&gt; list = new List&lt;int&gt;() { 5, 56, 2, 4, 63, 2 }; Console.WriteLine(list.First()); 上記のコードは正常に動作しています。 今私は以下を試しました dynamic dList = list; Console.WriteLine(dList.First()); しかし、RuntimeBinderExceptionが発生しています。なぜそうなのですか?
96 c#  dynamic  c#-4.0 

2
Moq、SetupGet、プロパティのモック
と呼ばれるUserInputEntityプロパティを含む、と呼ばれるクラスをモックしようとしColumnNamesています(他のプロパティが含まれているので、質問のために単純化しました) namespace CsvImporter.Entity { public interface IUserInputEntity { List&lt;String&gt; ColumnNames { get; set; } } public class UserInputEntity : IUserInputEntity { public UserInputEntity(List&lt;String&gt; columnNameInputs) { ColumnNames = columnNameInputs; } public List&lt;String&gt; ColumnNames { get; set; } } } プレゼンタークラスがあります: namespace CsvImporter.UserInterface { public interface IMainPresenterHelper { //... } public class …
94 c#  c#-4.0  properties  moq 

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以降では、コンストラクターとメソッドの密接に関連するグループをオプションのパラメーターを持つ単一のメソッドにする方が理にかなっていますか、それとも従来の多くのオーバーロードメカニズムに固執する十分な理由がありますか?

12
InnerException(s)からすべてのメッセージを取得しますか?
スローされた例外のInnerExceptionのすべてのレベルに移動するためのLINQスタイルの「ショートハンド」コードを作成する方法はありますか?拡張関数(以下のように)を呼び出したり、Exceptionクラスを継承したりするのではなく、その場で記述したいと思います。 static class Extensions { public static string GetaAllMessages(this Exception exp) { string message = string.Empty; Exception innerException = exp; do { message = message + (string.IsNullOrEmpty(innerException.Message) ? string.Empty : innerException.Message); innerException = innerException.InnerException; } while (innerException != null); return message; } };
92 c#  c#-4.0 

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