41 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C#
		
	
	
		
		
			
		
	
	
			41 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C#
		
	
	
| 
								 | 
							
								using System;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								namespace ProtoBuf
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
								    /// <summary>
							 | 
						|||
| 
								 | 
							
								    /// Indicates that a member should be excluded from serialization; this
							 | 
						|||
| 
								 | 
							
								    /// is only normally used when using implict fields.
							 | 
						|||
| 
								 | 
							
								    /// </summary>
							 | 
						|||
| 
								 | 
							
								    [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field,
							 | 
						|||
| 
								 | 
							
								        AllowMultiple = false, Inherited = true)]
							 | 
						|||
| 
								 | 
							
								    public class ProtoIgnoreAttribute : Attribute { }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    /// <summary>
							 | 
						|||
| 
								 | 
							
								    /// Indicates that a member should be excluded from serialization; this
							 | 
						|||
| 
								 | 
							
								    /// is only normally used when using implict fields. This allows
							 | 
						|||
| 
								 | 
							
								    /// ProtoIgnoreAttribute usage
							 | 
						|||
| 
								 | 
							
								    /// even for partial classes where the individual members are not
							 | 
						|||
| 
								 | 
							
								    /// under direct control.
							 | 
						|||
| 
								 | 
							
								    /// </summary>
							 | 
						|||
| 
								 | 
							
								    [AttributeUsage(AttributeTargets.Class,
							 | 
						|||
| 
								 | 
							
								            AllowMultiple = true, Inherited = false)]
							 | 
						|||
| 
								 | 
							
								    public sealed class ProtoPartialIgnoreAttribute : ProtoIgnoreAttribute
							 | 
						|||
| 
								 | 
							
								    {
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// Creates a new ProtoPartialIgnoreAttribute instance.
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="memberName">Specifies the member to be ignored.</param>
							 | 
						|||
| 
								 | 
							
								        public ProtoPartialIgnoreAttribute(string memberName)
							 | 
						|||
| 
								 | 
							
								            : base()
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            if (string.IsNullOrEmpty(memberName)) throw new ArgumentNullException(nameof(memberName));
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            MemberName = memberName;
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// The name of the member to be ignored.
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        public string MemberName { get; }
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								}
							 |