/// <summary> /// Internal set field routine. /// </summary> /// <param name="fieldName">Name.</param> /// <param name="val">Value.</param> /// <returns>This builder.</returns> private IPortableBuilder SetField0(string fieldName, PortableBuilderField val) { if (_vals == null) { _vals = new Dictionary <string, PortableBuilderField>(); } _vals[fieldName] = val; return(this); }
/** <inheritDoc /> */ public T GetField <T>(string name) { PortableBuilderField field; if (_vals != null && _vals.TryGetValue(name, out field)) { return(field != PortableBuilderField.RmvMarker ? (T)field.Value : default(T)); } T val = _obj.Field <T>(name, this); if (_vals == null) { _vals = new Dictionary <string, PortableBuilderField>(2); } _vals[name] = new PortableBuilderField(typeof(T), val); return(val); }