Говоря в терминах рефлексии, это то, что вы можете сделать:
var type = this.GetType();
var fundNoProperties = type.GetProperties()
.Where(p => p.Name.StartsWith("FUNDNO"));
foreach (var info in fundNoProperties)
{
string orderNumber = info.Name.Replace("FUNDNO", "");
var fundTypeInfo = type.GetProperty("FUNDTYPE" + orderNumber);
if (info.GetValue(this, null).ToString() == "999" &&
fundTypeInfo.GetValue(this, null).ToString() == "F")
{
var currRate = type.GetProperty("CURRATE" + orderNumber);
return currRate.Name + currRate.GetValue(this, null).ToString();
}
}
Конечно, я должен согласиться с людьми, комментирующими Это не как вы разрабатываете свои базы данных.Однако таблицы data mining могут выглядеть следующим образом (100+ столбцов, кто-нибудь?) Или, может быть, старых, устаревших системных таблиц (над которыми у нас мало контроля).Грязные уловки - не такое уж страшное решение.