Я создаю класс метаданных для объекта POCO. Я добавляю атрибут «CSVColumn» (из LINQToCSV) в класс метаданных. Но когда я запускаю программу, она не может найти ее атрибуты.
Итак, я проверил это с помощью отражения,
Type t = typeof(Case);
PropertyInfo pi = t.GetProperty("ProviderId");
//bool isReadOnly = ReadOnlyAttribute.IsDefined(pi,typeof( ReadOnlyAttribute);
var attributes = pi.GetCustomAttributes(typeof(Case),true);
Он ничего не возвращает, вызывая «GetCustomAttributes».
Что я сделал не так ??
Ниже описан способ создания класса метаданных.
Одна вещь, которую я не понимаю, это то, что она отлично работает с валидациями MVC. Хотите знать, как это получить пользовательские атрибуты ???
Это объект POCO объекта структуры
public partial class Case
{
public string ProviderName { get; set; }
public string ProviderId { get; set; }
}
Здесь я создаю частичный класс Case и классы метаданных,
[MetadataType(typeof(CaseMetaData))]
public partial class Case
{
public class CaseMetaData
{
[CsvColumn(Name = "ProviderName", FieldIndex = 1)]
public string ProviderName { get; set; }
[CsvColumn(Name = "ProviderID", FieldIndex = 2)]
public string ProviderId { get; set; }
}
}
Пожалуйста, кто-нибудь может мне помочь, высоко ценится.
Приветствия