小编JAV*_*AVH的帖子

Automapper将一个属性映射到多个

我在源对象和目标对象之间遇到了AutoMapper的挑战.我会尝试解释这种情况.在我的src对象上,我有一个字符串,根据它的长度,它应该映射到我的目标对象的多个属性.

class source
{
   public int Id {get; set;}
   /* some other properties */
   public string Value {get; set;}
}

class destination
{
   public int Id {get; set;}
   /* some other properties with the same name as the source */
   public string Value1 {get; set;}
   public string Value2 {get; set;}
   public string Value3 {get; set;}
}
Run Code Online (Sandbox Code Playgroud)

预期的最大长度为30个字符(可能小于仅映射到两个属性或一个属性的字符).因此,每10个将映射到每个目标属性.我试图使用AutoMapper中的ResolveUsing方法,但是没有办法让函数知道我应该带回哪个段.所以我想忽略这些属性的映射,并在Automapper完成其他属性的工作后手动执行此操作

c# visual-studio-2010 automapper automapper-2 automapper-3

5
推荐指数
2
解决办法
5627
查看次数

Visual Basic默认属性与C#属性

我在我的项目中将Visual Basic.Net代码转换为C#.但我对如何将Visual Basic默认属性转换为C#有一些疑问.我的第一个选择是索引器.让我们想象一下Visual Basic中的下一个代码

Public Class MyClass
Dim MyHash as Hashtable

Public sub New()
    MyHash = New Hashtable()
    MyHash.Add("e1",1)
    MyHash.Add("e2",2)
    MyHash.Add("e3",3)
End Sub

Defaul Propery MyDefProp(ByVal key as string) as Object
  Get
    Return MyHash(key)
  End Get

  Set(ByVal ObjectToStore As Object)
    MyHash(key) = ObjectToStore
  End Set
End Property
Run Code Online (Sandbox Code Playgroud)

将其转换为C#:

public class MyClass
{
    private Hashtable MyHash;

    public MyClass()
    {
        MyHash = new Hashtable();
        MyHash.Add("A1",1);
        MyHash.Add("A2",2);
        MyHash.Add("A3",3);
    }

    public object this[string key]
    {
        get
        {
            return MyHash[key]; 
        }

        set
        {
            MyHash[key] = …
Run Code Online (Sandbox Code Playgroud)

c# vb.net indexer properties

4
推荐指数
1
解决办法
2135
查看次数