Может ли атрибут UIHint принять свойство текущего класса? - PullRequest
0 голосов
/ 11 апреля 2010

Я нашел следующий код в MSDN. Как я могу изменить этот «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 Ответ

1 голос
/ 12 апреля 2010

Я не верю, что это возможно, потому что атрибут применяется к классу, а не к экземпляру класса.

Таким образом, во время выполнения фреймворки обычно получают доступ к атрибуту через тип, и это не зависит от любого работающего экземпляра.

Я некоторое время пытался получить статический метод, вызываемый как часть конструктора, но даже не мог заставить его работать.

Извините за отсутствие помощи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...