我从http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=27541安装了.NET 4.5 Developer预览版,它取代了.NET 4.0版本.
但是,检测.NET框架版本的旧方法似乎返回4.0(更准确地说是我的PC上的4.0.30319.17020),而不是4.5(确定可能是为了向后兼容,或者?):
using System;
namespace ConsoleApplication
{
class Program
{
static void Main(string[] args)
{
var version = Environment.Version;
Console.WriteLine(version.ToString());
Console.ReadKey();
}
}
}
Run Code Online (Sandbox Code Playgroud)
如何检测我的代码是否真的由.NET 4.5执行?
我想使用最近的C#5.0异步方法,但是有一些特定的方法.
请考虑以下示例代码:
public abstract class SomeBaseProvider : ISomeProvider
{
public abstract Task<string> Process(SomeParameters parameters);
}
public class SomeConcreteProvider1 : SomeBaseProvider
{
// in this method I want to minimize any overhead to create / run Task
// NOTE: I remove here async from method signature, because basically I want to run
// method to run in sync!
public override Task<string> Process(SomeParameters parameters) {
string result = "string which I don't need any async code to get";
return Task.Run(() => result); …Run Code Online (Sandbox Code Playgroud)