30 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C#
		
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C#
		
	
	
using System;
 | 
						|
 | 
						|
namespace ProtoBuf
 | 
						|
{
 | 
						|
    /// <summary>
 | 
						|
    /// Controls the formatting of elements in a dictionary, and indicates that
 | 
						|
    /// "map" rules should be used: duplicates *replace* earlier values, rather
 | 
						|
    /// than throwing an exception
 | 
						|
    /// </summary>
 | 
						|
    [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field)]
 | 
						|
    public class ProtoMapAttribute : Attribute
 | 
						|
    {
 | 
						|
        /// <summary>
 | 
						|
        /// Describes the data-format used to store the key
 | 
						|
        /// </summary>
 | 
						|
        public DataFormat KeyFormat { get; set; }
 | 
						|
        /// <summary>
 | 
						|
        /// Describes the data-format used to store the value
 | 
						|
        /// </summary>
 | 
						|
        public DataFormat ValueFormat { get; set; }
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// Disables "map" handling; dictionaries will use ".Add(key,value)" instead of  "[key] = value",
 | 
						|
        /// which means duplicate keys will cause an exception (instead of retaining the final value); if
 | 
						|
        /// a proto schema is emitted, it will be produced using "repeated" instead of "map"
 | 
						|
        /// </summary>
 | 
						|
        public bool DisableMap { get; set; }
 | 
						|
    }
 | 
						|
}
 |