相关疑难解决方法(0)

c#在对象构造函数中启动异步方法 - 不好的做法?

我在一个类似的对象构造函数中有一些代码

delegate DataSet MyInvoker;

public MyObject(Param1 p1)
{
    // property sets here
    // ...

    BeginMyAsyncMethod();
}

public void BeginMyAsyncMethod() 
{
    // set some properties
    // ...

    MyInvoker inv = new MyInvoker(SomeBeginMethod);
    inv.BeginInvoke(new AsyncCallback(SomeEndMethod), null);
}
Run Code Online (Sandbox Code Playgroud)

我的问题是:

  1. 这通常被认为是不好的做法吗?
  2. 在我的类中定义一个start方法(用户可以调用它来执行异步操作)会更好(或更好)吗?

这个答案给我的印象是,将它留给用户是不好的做法,虽然我特别谈到在构造函数中启动异步方法,而不是正确构造对象.

.net c# asynchronous

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

标签 统计

.net ×1

asynchronous ×1

c# ×1