30 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C#
		
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C#
		
	
	
namespace ProtoBuf
 | 
						|
{
 | 
						|
    /// <summary>
 | 
						|
    /// Specifies the method used to infer field tags for members of the type
 | 
						|
    /// under consideration. Tags are deduced using the invariant alphabetic
 | 
						|
    /// sequence of the members' names; this makes implicit field tags very brittle,
 | 
						|
    /// and susceptible to changes such as field names (normally an isolated
 | 
						|
    /// change).
 | 
						|
    /// </summary>
 | 
						|
    public enum ImplicitFields
 | 
						|
    {
 | 
						|
        /// <summary>
 | 
						|
        /// No members are serialized implicitly; all members require a suitable
 | 
						|
        /// attribute such as [ProtoMember]. This is the recmomended mode for
 | 
						|
        /// most scenarios.
 | 
						|
        /// </summary>
 | 
						|
        None = 0,
 | 
						|
        /// <summary>
 | 
						|
        /// Public properties and fields are eligible for implicit serialization;
 | 
						|
        /// this treats the public API as a contract. Ordering beings from ImplicitFirstTag.
 | 
						|
        /// </summary>
 | 
						|
        AllPublic = 1,
 | 
						|
        /// <summary>
 | 
						|
        /// Public and non-public fields are eligible for implicit serialization;
 | 
						|
        /// this acts as a state/implementation serializer. Ordering beings from ImplicitFirstTag.
 | 
						|
        /// </summary>
 | 
						|
        AllFields = 2
 | 
						|
    }
 | 
						|
}
 |