You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
30 lines
1.1 KiB
30 lines
1.1 KiB
3 years ago
|
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; }
|
||
|
}
|
||
|
}
|