UIHint属性是否可以接受当前类的属性?

时间:2010-04-11 15:58:36

标签: asp.net asp.net-mvc attributes

我在MSDN中找到了以下代码。如何使用Product类具有的值更改此“UnitsInStock”。例如,Product有一个FieldType属性,它具有一个名为Name的字符串属性。我想使用该FieldType.Name属性而不是使用字符串进行硬编码。但是,我不能指定“this”,或将当前实例指定为UIHint属性的参数。请帮忙

using System;
using System.Web.DynamicData;
using System.ComponentModel.DataAnnotations;

[MetadataType(typeof(ProductMetadata))]
public partial class Product 
{

}

public partial class ProductMetadata
{
    [UIHint("UnitsInStock")]
    [Range(100, 10000, 
    ErrorMessage = "Units in stock should be between {1} and {2}.")]
    public object UnitsInStock;

}

1 个答案:

答案 0 :(得分:1)

我不相信这是可能的,因为该属性应用于类,而不是类的实例。

因此,在运行时,框架通常会通过Type访问属性,并且它与任何正在运行的实例无关。

我尝试了一段时间来获取一个静态方法,该方法被称为构造函数的一部分但是甚至无法使其工作。

对于缺乏帮助感到抱歉!