示例#1
0
			public Task(TaskRunner runner, Action<Task> action) {
				new System.Threading.Tasks.Task(delegate() {
					try {
						action(this);
					} catch(Exception ex) {
						if (runner.ExceptionThrown != null)
							runner.ExceptionThrown(runner, ex);
					} finally {
						lock (runner) {
							if (runner.m_Task == this) {
								runner.m_Task = null;
							}
						}
					}
				}).Start();
			}