Использование внедрения зависимостей Unity в аннотации (данных)
Я использую Unity, и у меня есть Модель, помеченная аннотациями данных:
public class SomeModel
{
[SlackDisplayName("ED0CAD76-263E-496F-ABB1-A4DFE6DEC5C2")]
public String SomeProperty { get; set; }
}
Это свойство SlackDisplayName является дочерним классом DisplayName, который разрешает статическое отображаемое имя для свойства. Я просто хотел сделать это динамически, выполнив следующие критерии:
Использование этой аннотации возможно.Я могу реализовать многоязычные приложения, используя эту аннотацию.Языковые шаблоны идентифицируются по GUIDЯ не должен передавать идентификатор культуры в аннотациюБолее того, моя аннотация SlackDisplayName выглядит так:
/// <summary>
/// Annotation for non-fixed display names
/// </summary>
public class SlackDisplayNameAttribute : DisplayNameAttribute
{
/// <summary>
/// TODO
/// </summary>
/// <param name="identifierGUID"></param>
public SlackDisplayNameAttribute(String identifierGUID)
: this(Guid.Parse(identifierGUID))
{
}
/// <summary>
/// TODO
/// </summary>
/// <param name="identifier"></param>
public SlackDisplayNameAttribute(Guid identifier)
: base()
{
}
/// <summary>
/// The culture context to use.
/// </summary>
[Dependency]
public ICultureContext Context { get; set; }
/// <summary>
/// Gets the display name for the given GUID.
/// </summary>
public override string DisplayName
{
get
{
return "NOT_DEFINED";
//return Context.GetLanguageTemplate(new Guid());
}
}
}
А теперь вопрос: как получить ICultureContext из моего контейнера Unity:
[Dependency]
public ICultureContext Context { get; set; }
Он зарегистрирован, но я не имею ни малейшего понятия о том, как ввести это свойство.