草庐IT

c# - 使用 Json.NET 的流利转换器/映射器?

所以,我得到了一堆我需要序列化/反序列化的类,它们也碰巧是域对象(至少是其中的一些),因此我希望它们是否有任何属性取决于特定的框架。我查看了Json.NET中的自定义转换器,但它们对我来说看起来非常“古老”在使用和其他方面,因为我们现在有泛型,但它不是很难实现流畅的界面。所以在我走上弱类型等道路之前.....我在找什么(伪):publicclassMyModel{publicintId{get;set;}publicstringName{get;set;}publicSomeObjSomeObj{get;set;}}publicclassMyModelConverter:JsonCon

c# - Enumerable.Sum() 溢出

嘿,我正在使用LINQ的Enumerable.Sum()扩展方法来计算哈希码,当代码变大时我遇到了OverflowExceptions问题.我尝试将调用放在uncheckedblock中,但这似乎没有帮助。该方法的MSDN文档说如果值太大就会抛出异常,但我检查了反射器,仅此而已:publicstaticintSum(thisIEnumerablesource){if(source==null){throwError.ArgumentNull("source");}intnum=0;foreach(intnum2insource){num+=num2;}returnnum;}基于此反编译

c# - 当 .NET 反射器显示它已在 .NET Framework 中完成时,为什么我不能将属性或索引器作为 ref 参数传递?

好的,我将从.NET反射器中剪切和粘贴以演示我正在尝试做的事情:publicoverridevoidUpdateUser(MembershipUseruser){//Abunchofirrelevantcode...SecUtility.CheckParameter(refuser.UserName,true,true,true,0x100,"UserName");//Moreirrelevantcode...}这行代码直接来自.NETFramework中的System.Web.Security.SqlMembershipProvider.UpdateUser(System.Web.d

基于 C# 泛型的对象到对象映射器问题

我的应用程序中需要一个对象到对象映射器。我已经尝试了一些,但一直无法找到适合我需要的东西,所以我正在写我自己的。目前我有如下界面:publicinterfaceIMapper{TMap(Robj);}然后我实现一个AccountMapper,将客户映射到一个帐户:publicclassAccountMapper:IMapper{AccountMap(Customerobj){//mappingcode}}目前为止一切正常,但是我有几个源实体映射到同一个目标实体。例如,我有一个Payment和一个Invoice都映射到BillHistory。为了支持以上内容,我需要制作两个单独的映射器(

c# - 通用关系到复合 C# 对象映射器

我有以下代码能够将Reader映射到简单对象。问题是万一对象是复合的,它就无法映射。如果它本身是一个类,我无法通过检查属性来执行递归prop.PropertyType.IsClass因为调用DataReaderMapper()需要Type。关于如何实现或其他方法的任何想法?另外,目前我不希望使用任何ORM。publicstaticclassMapperHelper{//////extensionMethodforReader:Mapsreadertotypedefined//////Generictype:ModelClassType///this:currentReader///Li

c# - 自动映射器创建新实例而不是映射属性

这是一篇很长的文章。因此,我有一个模型和一个View模型,我正在根据AJAX请求进行更新。WebAPIController接收View模型,然后我使用AutoMapper更新现有模型,如下所示:privateUserupdateUser(UserViewModelentityVm){UserexistingEntity=db.Users.Find(entityVm.Id);db.Entry(existingEntity).Collection(x=>x.UserPreferences).Load();Mapper.Map(entityVm,existingEntity);db.Entr

c# - WebAPI Controller 中的自动映射器

我有一个CarWebAPIController方法,如下所示-注意_carService.GetCarData返回CarDataDTO对象的集合[HttpGet][Route("api/Car/Retrieve/{carManufacturerID}/{year}")]publicIEnumerableRetrieveTest(intcarManufacturerID,intyear){//Mapper.Mapvarcars=_carService.GetCarData(carManufacturerID,year);//varreturnData=Mapper.Map();retur

c# - 如何序列化 IList<T>?

我有一个返回IList的OR映射器(iBatis.Net)。//IListQueryForList(stringstatementName,objectparameterObject);vardata=mapper.QueryForList(statement,parameters);我正在尝试在网络服务中使用它并希望以1:1的比例返回数据。当然,我不能在WebMethod中返回IList,因为它是一个接口(interface),因此不可序列化。我发现映射器实际上返回的是一个列表。但我不敢将其转换为List,因为映射器的内部工作原理在未来的版本中可能会发生变化(而且感觉很脏)。我也应该

c# - 使用 Reflector 创建 VisualStudio 项目

我有一个.exe应用程序,我想更好地理解它-我可以在反射器中看到它有什么方法可以让反射器使用代码创建VS项目,以便我可以在VisualStudio中正确查看它? 最佳答案 不需要什么特别的东西,它内置在Reflector中,尽管不是很容易被发现。右键单击左Pane中的程序集,然后选择“导出”。您将有机会更改输出目录。单击确定,Reflector开始反编译代码,为每个单独的类创建一个源文件。并创建一个可以在VisualStudio中打开的.csproj文件。 关于c#-使用Reflecto

c# - 在.net 中编译成.exe 的注释?

我知道您可以使用.net反射器来查看使用.net创建的代码,但如果我在评论中添加一些内容以供我个人提醒,那也是在exe中编译的。我不打算发布我的应用程序的源代码,我知道100%安全的选择是删除我不想要的所有内容,但我只是想知道是否有人可以对我的评论进行逆向工程。 最佳答案 注释被编译器忽略。它们不会被放入输出可执行文件中。 关于c#-在.net中编译成.exe的注释?,我们在StackOverflow上找到一个类似的问题: https://stackoverf