a575963da9
Former-commit-id: da6be194a6b1221998fc28233f2503bd61dd9d14
42 lines
1.0 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|