##// END OF EJS Templates
Fixed component container
Fixed component container

File last commit:

r203:4d9830a9bbb8 v2
r216:1e082fb67a46 v2
Show More
FailedPromiseT.cs
65 lines | 1.7 KiB | text/x-csharp | CSharpLexer
cin
Added 'Fail' method to RunnableComponent which allows component to move from...
r203 using System;
using System.Reflection;
namespace Implab {
public class FailedPromise<T> : FailedPromise, IPromise<T> {
public FailedPromise(Exception error) : base(error) {
}
public IPromise<T> On(Action<T> success, Action<Exception> error, Action<Exception> cancel) {
if (error != null) {
try {
error(Error);
// Analysis disable once EmptyGeneralCatchClause
} catch {
}
}
return this;
}
public IPromise<T> On(Action<T> success, Action<Exception> error) {
if (error != null) {
try {
error(Error);
// Analysis disable once EmptyGeneralCatchClause
} catch {
}
}
return this;
}
public IPromise<T> On(Action<T> success) {
return this;
}
T IPromise<T>.Join() {
throw new TargetInvocationException(Error);
}
T IPromise<T>.Join(int timeout) {
throw new TargetInvocationException(Error);
}
IPromise<T> IPromise<T>.On(Action success, Action<Exception> error, Action<Exception> cancel) {
On(success, error, cancel);
return this;
}
IPromise<T> IPromise<T>.On(Action success, Action<Exception> error) {
On(success, error);
return this;
}
IPromise<T> IPromise<T>.On(Action success) {
On(success);
return this;
}
IPromise<T> IPromise<T>.On(Action handler, PromiseEventType events) {
On(handler, events);
return this;
}
}
}