linux-packaging-mono/mcs/class/System.Web.Mvc3/Mvc/AdditionalMetaDataAttribute.cs
Jo Shields a575963da9 Imported Upstream version 3.6.0
Former-commit-id: da6be194a6b1221998fc28233f2503bd61dd9d14
2014-08-13 10:39:27 +01:00

42 lines
1.0 KiB
C#

namespace System.Web.Mvc {
using System;
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Interface | AttributeTargets.Property, AllowMultiple = true)]
public sealed class AdditionalMetadataAttribute : Attribute, IMetadataAware {
private object _typeId = new object();
public AdditionalMetadataAttribute(string name, object value) {
if (name == null) {
throw new ArgumentNullException("name");
}
Name = name;
Value = value;
}
public override object TypeId {
get {
return _typeId;
}
}
public string Name {
get;
private set;
}
public object Value {
get;
private set;
}
public void OnMetadataCreated(ModelMetadata metadata) {
if (metadata == null) {
throw new ArgumentNullException("metadata");
}
metadata.AdditionalValues[Name] = Value;
}
}
}