СМ. НИЖЕ РЕШЕНИЯ НА ОСНОВЕ ОТВЕТА / КОММЕНТАРИИ от @Bertrand Le Roy
ОРИГИНАЛЬНЫЙ ВОПРОС:
Не знаете, какчтобы объяснить мою проблему.
У меня есть запись детали в Orchard:
[Display(Name = "Would you like us to call you to discuss the quote for your case?")]
public ContactClientList ContactClient
{
get { return Record.ContactClient; }
set { Record.ContactClient = value; }
}
public enum ContactClientList
{
ContactClient_Yes,
ContactClient_No
}
public class ContactClientDictionary
{
public static readonly Dictionary<ContactClientList, string> contactclientDictionary = new Dictionary<ContactClientList, string>
{
{ ContactClientList.ContactClient_No, "No, please do not contact me by telephone." },
{ ContactClientList.ContactClient_Yes, "Yes, please contact me as soon as possibly by telephone to discuss my Uncontested Divorce quote." },
};
static string ConvertContactClient(ContactClientList contactclientlist)
{
string name;
return (contactclientDictionary.TryGetValue(contactclientlist, out name))
? name : contactclientlist.ToString();
}
static void Main()
{
Console.WriteLine(ConvertContactClient(ContactClientList.ContactClient_Yes));
Console.WriteLine(ConvertContactClient(ContactClientList.ContactClient_No));
}
}
Теперь у меня есть запись детали:
public virtual ContactClientList ContactClient { get; set; }
И я получаюошибка:
Сообщение об ошибке компилятора: CS0246: не удалось найти тип или имя пространства имен ContactClientList (отсутствует директива using или ссылка на сборку?)
Есть мысли?
РЕШЕНИЕ:
Я достал
public enum ContactClientList
{
ContactClient_Yes,
ContactClient_No
}
public class ContactClientDictionary
{
public static readonly Dictionary<ContactClientList, string> contactclientDictionary = new Dictionary<ContactClientList, string>
{
{ ContactClientList.ContactClient_No, "No, please do not contact me by telephone." },
{ ContactClientList.ContactClient_Yes, "Yes, please contact me as soon as possibly by telephone to discuss my Uncontested Divorce quote." },
};
static string ConvertContactClient(ContactClientList contactclientlist)
{
string name;
return (contactclientDictionary.TryGetValue(contactclientlist, out name))
? name : contactclientlist.ToString();
}
static void Main()
{
Console.WriteLine(ConvertContactClient(ContactClientList.ContactClient_Yes));
Console.WriteLine(ConvertContactClient(ContactClientList.ContactClient_No));
}
}
из
public class ModelNamePart : ContentPart<ModelNamePartRecord
{
public ContactClientList ContactClient
{
...
}
[TOOK OUT FROM HERE]
}
Асделал его собственным классом в конце файла ModelNamePartRecord.cs, но пришлось изменить имя класса (просто добавив «Enum» после) и связать его с ContentPartRecord (в противном случае он выбрасывает ассоциацию NHibernate из ошибки отображения таблицы):
public class ContactClientListEnum : ContentPartRecord
{
public enum ContactClientList
{
...
}
public class ContactClientDictionary
{
...
}
}
Кроме того, в файле ModelNamePartRecord.cs я только что обновил имя класса:
public class ModelNamePartRecord : ContentPartRecord
{
public virtual ContactClientListEnum ContactClient { get; set; }
}
СНОВА, замена происходит после этой части выше в своем классе.
Спасибо!