using System.Collections.Generic;
interface IClassification
string Name { get; set; }
MasterDataTypeEnum MasterDataType { get; set; }
interface IHaveRangeValidation<T>
class DoubleClassification : IHaveRangeValidation<double>, IClassification
public int Id { get; set; }
public string Name { get; set; }
public int Order { get; set; }
public MasterDataTypeEnum MasterDataType { get; set; }
public double MinValue { get; set; }
public double MaxValue { get; set; }
interface IHaveClassification
IEnumerable<DoubleClassificationValue> DoubleClassificationValues { get; set; }
interface IClassificationValue<T1, T2> where T1 : IClassification
T1 Classification { get; set; }
class DoubleClassificationValue : IClassificationValue<DoubleClassification, double>
public DoubleClassification Classification { get; set; }
public double Value { get; set; }
class User : IHaveClassification
public IEnumerable<DoubleClassificationValue> DoubleClassificationValues { get; set; }