public MessageDescriptorBuilder <T> Double(int fieldNum, Func <T, double> valueGetter, Action <T, double> valueSetter, Func <T, bool> hasValueFunc = null)
 {
     return(Add(FieldSetting <T> .CreateDouble(fieldNum, valueGetter, valueSetter, hasValueFunc)));
 }