小编dot*_*ter的帖子

有没有办法使用ContinueWith任务启动任务?

我的代码:

var r = from x in new Task<int>(() => 1)
        from y in new Task<int>(() => x + 1) 
        select y;
r.ContinueWith(x => Console.WriteLine(x.Result)).Start();   
Run Code Online (Sandbox Code Playgroud)

要么

new Task<int>(() => 1)
    .ContinueWith(x => x.Result + 1)
    .ContinueWith(x => Console.WriteLine(x.Result))
    .Start();
Run Code Online (Sandbox Code Playgroud)

例外:

可能不会在继续任务上调用Start.

所以我需要开始第一项任务.有没有办法调用上一个任务Start方法来运行所有任务?

.net c# exception-handling task-parallel-library

21
推荐指数
1
解决办法
1万
查看次数

我可以使用Roslyn进行编译时代码重写吗?

比如我有

class Foo: INotifyPropertyChanged {
    public event PropertyChangedEventHandler PropertyChanged;
    public int Bar {get;set;}
}
Run Code Online (Sandbox Code Playgroud)

我可以在编译时获取Foo类AST并重写Bar

    public string Bar
    {
        get { return this.bar; }

        set 
        {
            if (value != this.bar)
            {
                this.phoneNumberValue = value;
                PropertyChanged(this, new PropertyChangedEventArgs("Bar"));
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

.

c# metaprogramming compiler-as-a-service roslyn

16
推荐指数
1
解决办法
4042
查看次数

15
推荐指数
1
解决办法
7779
查看次数

使用vs lambda

它是等同的吗?

        public static void Using<T>(this T disposable, Action<T> action)
            where T:IDisposable
        {
            try {
                action(disposable);
            }
            finally {
                disposable.Dispose();
            }
        }

        new SqlConnection("").Using(conn => {

        });

        using(var conn = new SqlConnection("")){

        };
Run Code Online (Sandbox Code Playgroud)

换句话说,我们可以用这种方法替换关键字吗?

.net c# functional-programming

14
推荐指数
2
解决办法
701
查看次数

如何通过方法参数锁定?

string Get(string key){
   lock(_sync){
    //   DoSomething
   }
}
Run Code Online (Sandbox Code Playgroud)

如果DoSomething仅依赖于密钥,我想要密钥依赖锁.我认为它可能是带有同步对象的字典.有没有完整的解决方案?

像真实例子一样 在asp.net中锁定缓存的最佳方法是什么?

c# multithreading locking

11
推荐指数
1
解决办法
2127
查看次数

为什么动态调用返回动态结果?

public string Foo(object obj) {
    return null;
}

public string Foo(string str) {
    return null;
}

var x = Foo((dynamic) "abc");
Run Code Online (Sandbox Code Playgroud)

为什么x动态,编译器不够智能或者我错过了重要的东西?

c# language-design .net-4.0 c#-4.0

10
推荐指数
1
解决办法
514
查看次数

实体框架4和多个数据库

有什么变化或者它仍然不支持这个?例如,join database1.dbo.Users和database2.dbo.Addresses

entity-framework entity-framework-4

8
推荐指数
1
解决办法
1万
查看次数

什么语言可以编译成javascript?

可能重复:
哪些编译器针对JavaScript运行时?

喜欢CoffeeScript.我真的不喜欢javascript,如果我可以替换它会很好.

javascript programming-languages

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

是否有任何内置函数用于人类可读的F#报价?

引用时

<@ 1 + 1 @>
Run Code Online (Sandbox Code Playgroud)

我想要"1 + 1"

代替

"Call (None, Int32 op_Addition[Int32,Int32,Int32](Int32, Int32), [Value (1), Value (1)])"

f# quotations

5
推荐指数
2
解决办法
483
查看次数

ajax.microsoft.com vs cdn的无cookie域

如果我是对的,每个http://ajax.microsoft.com/ajax/jQuery/jquery-1.4.2.js的请求都 使用3kb的microsoft.com cookie.我不理解某些东西,这无关紧要或微软是错的吗?

http cdn

5
推荐指数
1
解决办法
582
查看次数