在哪里可以在类库中添加初始化代码?

时间:2016-02-15 09:46:10

标签: c# valueinjecter

我有一个用户ValueInjecter库的类库。在某些情况下,我需要创建自定义地图,而且我不确定将呼叫置于Mapper.AddMap()的位置。

如果我在具有主入口点的应用程序中使用它,我可以这样做:

public static void Main(string[] args)
{
    InitialiseMappings();
}

void InitialiseMappings()
{
    Mapper.AddMap<TypeA, TypeB>(src = > { 
        // Mapping code... 
    });

    Mapper.AddMap<TypeC, TypeD>(src = > { 
        // Mapping code... 
    });

    // etc.
}

在课程库中,似乎没有一种直接的方式来运行初始化&#39;代码,所以我不知道如何处理这个问题。由于尝试添加重复/相同的映射会引发异常,因此无法多次调用代码。

我应该在哪里放置代码来创建这些地图?

1 个答案:

答案 0 :(得分:2)

您可以将其添加到static constructor

public class SomeClass {
    static SomeClass() {
        InitialiseMappings();
    }
}