Closed
Description
From what I understand, the following should work but it is generating errors:
export class FilterExpression {
constructor();
constructor(FilterOperator: LogicalOperator);
constructor(public FilterOperator?: LogicalOperator) {
if (FilterOperator == null) {
FilterOperator = LogicalOperator.And;
this.Filters = new Array<FilterExpression>();
}
}
Filters: Array<FilterExpression>;
AddFilter(p: LogicalOperator | FilterExpression): void {
var Filter:FilterExpression = null;
if (typeof p === "LogicalOperator") {
Filter = new FilterExpression(p); //Generates an error here
}
else if (typeof p === "FilterExpression") {
Filter = p; //Generates an error here
}
this.Filters.push(Filter);
}
}
enum LogicalOperator {
And = 0,
Or = 1
}
If I change it to this then I don't get any errors
AddFilter(p: any): void {
var Filter:FilterExpression = null;
if (typeof p === "LogicalOperator") {
Filter = new FilterExpression(p);
}
else if (typeof p === "FilterExpression") {
Filter = p;
}
this.Filters.push(Filter);
}