I created the following class:
public class Check<TInput> : CheckBase<TInput, (DateTimeOffset Stamp, Decimal? Value), Reply> where TInput : ITicker {
public override IEnumerable<Reply> Compute(IEnumerable<(DateTimeOffset Stamp, Decimal? Value)> values) {
// Just for testing
return new List<Reply>();
}
public class Reply(DateTimeOffset stamp, Decimal? value) : ITicker {
public DateTimeOffset Stamp { get; set; } = stamp;
public Decimal? Value{ get; set; } = value;
}
}
public abstract class CheckBase<TInput, TOrder, TReply> : IIndicator<TInput, TOrder, TReply> where TInput : ITicker where TReply : ITicker {
public abstract IEnumerable<TReply> Compute(IEnumerable<TOrder> orders);
}
public interface ITicker {
DateTimeOffset Stamp { get; set; }
}
But I get the error:
The type or namespace name 'Reply' could not be found (are you missing a using directive or an assembly reference?)
In the Check class definition:
... Reply> where TInput : ITicker
Why?