IpAddressModel
using System;
using System.Collections.Generic;
using System.Linq;
namespace Microsoft.Recognizers.Text.Sequence
{
public class IpAddressModel : AbstractSequenceModel
{
public override string ModelTypeName => "ip";
public IpAddressModel(IParser parser, IExtractor extractor)
: base(parser, extractor)
{
}
public override List<ModelResult> Parse(string query)
{
List<ParseResult> list = new List<ParseResult>();
try {
foreach (ExtractResult item in base.Extractor.Extract(query)) {
list.Add(base.Parser.Parse(item));
}
} catch (Exception) {
}
return (from o in list
where o.get_Data() != null
select o).Select((Func<ParseResult, ModelResult>)delegate(ParseResult o) {
ModelResult val = new ModelResult();
val.set_Start(o.get_Start().Value);
val.set_End(o.get_Start().Value + o.get_Length().Value - 1);
val.set_Resolution(new SortedDictionary<string, object> {
{
"value",
o.get_ResolutionStr()
},
{
"type",
o.get_Data()
}
});
val.set_Text(o.get_Text());
val.set_TypeName(ModelTypeName);
return val;
}).ToList();
}
}
}