【问题标题】:ValueInjecter different types/property namesValueInjecter 不同的类型/属性名称
【发布时间】:2012-05-11 21:05:26
【问题描述】:

是否可以从这样的东西注入:

public class DomainEntity
{
    public Resource DescriptionResource { get; set; }
}

public class Resource
{
    public List<ResourceLocalization> Localizations { get; set; }
}

public class ResourceLocalization
{
    public string Culture { get; set; }
    public string Value { get; set; }
}

到这样的事情:

public class DomainEntityViewModel
{
    public string Description { get; set; }
}

(DomainEntity.DescriptionResource.Localizations.First().Value => DomainEntityViewModel.Description)

使用 ValueInjecter。

谢谢!

【问题讨论】:

    标签: c# valueinjecter


    【解决方案1】:

    你可以使用这个注入:

        public class MyInj : ConventionInjection
        {
            protected override bool Match(ConventionInfo c)
            {
                return c.TargetProp.Name == c.SourceProp.Name 
                && c.TargetProp.Type == typeof (string) 
                && c.SourceProp.Type == typeof (List<ResourceLocalization>);
            }
            protected override object SetValue(ConventionInfo c)
            {
                return ((List<ResourceLocalization>) c.SourceProp.Value).First().Value;
            }
        }
    

    【讨论】:

      猜你喜欢
      • 2021-02-02
      • 2014-12-13
      • 1970-01-01
      • 2019-12-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-20
      相关资源
      最近更新 更多