小编Eve*_*req的帖子

如何在运行时检测.NET版本4.5当前正在运行您的代码?

我从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执行?

.net clr version .net-4.5

60
推荐指数
5
解决办法
4万
查看次数

是否可以在C#5.0中使用相同的异步方法签名,并能够在以后决定如何执行此类方法

我想使用最近的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)

.net c# async-await c#-5.0

6
推荐指数
1
解决办法
1661
查看次数

标签 统计

.net ×2

.net-4.5 ×1

async-await ×1

c# ×1

c#-5.0 ×1

clr ×1

version ×1