コード例 #1
0
        /// <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);
        }
コード例 #2
0
        /** <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);
        }