在我的应用程序中,我需要在不同的对象对之间进行许多映射(域对象,DTO,ViewModels等)。我AutoMapper为此大量使用。
因此,我有一个通用的Mapper类,该类具有映射不同对象的方法。作为映射在应用程序中坚持,我尽我CreateMap()的static constructor,这样的映射创建只有一次,是由我可能会使用他们的时间准备。这个班级看起来像这样
public class SomeMapper
{
static SomeMapper()
{
Mapper.CreateMap<SomeType1, SomeOtherType1>();
Mapper.CreateMap<SomeType2, SomeOtherType2>();
Mapper.CreateMap<SomeType3, SomeOtherType3>();
//...
}
public SomeOtherType1 MapSomeHierarchy1(SomeType1 source)
{ //... }
public SomeOtherType2 MapSomeHierarchy2(SomeType2 source)
{ //... }
}
Run Code Online (Sandbox Code Playgroud)
问题1:什么是创建映射的更好方法?(以任何方式更好-性能,语义,标准惯例等)
问题2:此代码也用于Console应用程序中。在特定的运行中,它不需要所有映射。因此,与其急切地创建所有映射,不可以在运行时创建映射(如果尚不存在)?就像是
public SomeOtherTypeN MapSomeHierarchyN(SomeTypeN source)
{
if (!AlreadyMapped(SomeTypeN, SomeOtherTypeN))
Mapper.CreateMap<SomeTypeN, SomeOtherTypeN>();
return Mapper.Map<SomeOtherTypeN>(source);
}
Run Code Online (Sandbox Code Playgroud)
有没有简单的方法来实现该方法AlreadyMapped()?
我在数据库中有一个包含字母数字ID字段的表,ID字段包含两个字母和三个数字,如'AA001'.
我想在我的代码中自动增加ID.首先我将数字增加到999,当数字变为999时,字母序列将改变.例如从'AA999'到'AB001'.
我怎么能这样做C#?
我使用带有C#. 我有一个带有button1和的表格textbox1。
我想要的是:当我单击时button1,如果textbox1包含任何零或零(仅零的任何组合),则显示警报消息,例如:
0
00
0000
000
000000000
Run Code Online (Sandbox Code Playgroud)
我尝试了以下代码,但如果textbox1有多个零(如 000),它将不起作用
private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text == "0")
MessageBox.Show("Enter Value larger than zero);
}
Run Code Online (Sandbox Code Playgroud)
如果单击时textbox1有任何零组合,我如何获得警报消息button1?
我想验证一个字符串是否满足以下货币格式,最多4位小数,并且可以允许逗号, 而不管文化,逗号可以在标准实践的位置.
例如:
2,000,000(valid)
200000.0000(valid)
200 (valid)
200.00000(invalid)
Run Code Online (Sandbox Code Playgroud)
怎么可能呢?
我有一个仪器,它返回一个字符串值作为这个
string var = "0,0,0.1987,22.13";
Run Code Online (Sandbox Code Playgroud)
我想只使用第4个值"22.13".我试过Trim()和Replace()方法,但不能完全得到我想要的.怎么做到这一点?