Questions tagged «c#-4.0»

C#4.0引入了诸如动态对象,COM互操作性改进,通用协方差和反方差,可选参数和命名参数之类的功能。如果您的问题专门与C#4.0特定功能有关,请使用此标记。如果您的问题并非特定于C#4.0功能,则应使用C#标记。

4
从ASP.NET Web API重定向操作
我是ASP.NET 4.0 Web API的新手。我们可以在POST操作结束时重定向到另一个URL吗?Response.Redirect(url) 实际上,我是www.abcmvc.com通过Web API(例如www.abcwebapi.com/upload)从MVC应用程序(例如)上传文件的 这upload是POST操作。我将多部分表单发布到Web API上传控制器的发布动作中。上传后,我想重定向回www.abcmvc.com。 这可能吗?


9
如何从ConcurrentBag <>中删除单个特定对象?
随着新ConcurrentBag&lt;T&gt;的.NET 4,你怎么从它,只有当删除一些具体目标TryTake()和TryPeek()可用? 我想用的TryTake(),然后只是增加了生成的对象回列表,如果我不想要删除它,但我觉得我可能会失去了一些东西。这是正确的方法吗?
109 c#  c#-4.0 

3
在约定样式的任务上可能不会调用启动。异常来了
我正在创建一个简单的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: 在约定样式的任务上可能不会调用启动。 有人可以帮忙吗?
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的详细信息可以给出一些解释吗?

10
如何在WebApi中添加和获取Header值
我需要在WebApi中创建POST方法,以便可以将数据从应用程序发送到WebApi方法。我无法获取标头值。 在这里,我在应用程序中添加了标头值: 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
为什么此条件(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) { …



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并喜欢枚举的扩展方法,例如where等,所以嵌套的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中使用重载或可选参数声明方法?
我正在看Anders谈论C#4.0和C#5.0的预览,这让我开始思考,何时可选参数在C#中可用,这是声明不需要指定所有参数的方法的推荐方式? 例如,类似FileStream该类的东西有大约十五个不同的构造函数,这些构造函数可以划分为逻辑“族”,例如,字符串中的下面的那些,an中的一个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); 在我看来,可以通过以下方法简化这种类型的模式:改为使用三个构造函数,并对可以默认使用的参数使用可选参数,这将使不同的构造函数系列更加不同[注:我知道此更改不会在BCL中完成,我假设是针对这种情况]。 你怎么看?从C#4.0开始,将密切相关的构造函数和方法组作为具有可选参数的单个方法会更有意义,还是有充分的理由坚持传统的多次重载机制?

12
从InnerException获取所有消息?
有什么方法可以编写LINQ样式的“简写”代码,以遍历所有级别的抛出InnerException的异常?我宁愿就地编写它,而不是调用扩展函数(如下所示)或继承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 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.