草庐IT

通用mapper

全部标签

c# - 要求通用方法在 FAIL 时抛出特定的异常类型

好吧,我知道我完全会因为这个而看起来像个白痴,但我的大脑今天早上没有开始运转。我想要一个方法,我可以说“如果它变坏了,返回这种类型的异常”,对吗?例如,类似(这行不通):staticExTypeTestException(stringmessage)whereExType:Exception{Exceptionex1=newException();ExTypeex=newException(message);returnex;}现在让我感到困惑的是,我们知道由于where子句,泛型类型将成为异常类型。但是,代码会失败,因为我们无法将Exception隐式转换为ExType。我们也不能显

c# - 如何获取通用列表中类型的字节大小?

我有这个通用列表,我想获取类型的字节大小,比如T是字符串还是整数等,我尝试了getByteSize()中所写的两种方法,只是想让你知道我只使用一次一种方式......但是当我尝试编译时,它给出了一条错误消息“错误:找不到类型或namespace名称‘typeParameterType’(是否缺少using指令或程序集引用?)”publicclassiList:List{publicintgetByteSize(){//way1TypetypeParameterType=typeof(T);returnsizeof(typeParameterType);//way2TypetypePar

c# - 反射和通用类型

我正在为一个类构造函数编写一些代码,它循环遍历该类的所有属性并调用一个通用静态方法,该方法使用来自外部API的数据填充我的类。所以我把它作为一个示例类:publicclassMyClass{publicstringProperty1{get;set;}publicintProperty2{get;set;}publicboolProperty3{get;set;}publicstaticTDoStuff(stringname){//getthedataforthepropertyfromtheexternalAPI//orifthere'saproblemreturn'default(

c# - 公共(public)方法的自定义集合与通用集合

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion公开自定义集合与通用集合的框架设计指南是什么?例如publicclassImageCollection:Collection{...}publicclassProduct{publicImageCollection{get;set;}}对比publicclassProduct{publicCollectionImages{get;set;}}

c# - 如何在不更改相同列表的情况下反转通用列表?

我有一个通用列表,它在一个被调用4次的方法中使用。此方法使用此通用列表的值在PDF中写入表格。我的问题是我需要在方法中反转这个通用列表,但我调用了该方法4次,所以每次我调用该方法时列表都会被反转,我不希望这样......什么我可不可以做?有没有办法在不改变原始列表的情况下反转列表?这是在方法内部:t.List.Reverse();foreach(stringt1int.List){//Somecode} 最佳答案 “简单”的选择是仅以相反的顺序迭代列表而不实际更改列表本身,而不是第一次尝试将其反转并且知道其他时间什么都不做:fore

c# - 通用扩展方法歧义

我定义了两个接口(interface)://IVector.cspublicinterfaceIVector{intSize{get;}floatthis[intindex]{get;set;}}//IMatrix.cspublicinterfaceIMatrix{intSize{get;}floatthis[introw,intcolumn]{get;set;}}以及这些接口(interface)的扩展方法//VectorExtensions.cspublicstaticTAdd(thisTvector,Tvalue)whereT:struct,IVector{varoutput=d

c# - 我应该将通用存储库与 Entity Framework 5 一起使用吗?

我目前正在使用具有通用存储库和工作单元模式的EntityFramework。我的模型类似于thisarticle中描述的模型我过去使用过GenericRepositories,非常喜欢它提供的全局功能。但是,在将它与EntityFramework一起使用时,我似乎每天都会遇到更多问题。在处理父/子/联结关系时,这些问题似乎会出现更多。将通用存储库与EF结合使用开始给我留下不好的印象,我开始认为将通用存储库与EF结合使用是错误的方法。有人可以帮我指引正确的方向吗? 最佳答案 本文的方法确实会成为一种痛苦,因为您已经在EF中拥有一个通用

c# - 在通用抽象类中实现强制转换运算符

我试图偷懒并在抽象基类中而不是在每个派生的具体类中实现转换运算符。我已经设法施放了一种方式,但无法施放另一种方式。我认为这可能是不可能的,但想在放弃之前选择集体SO的想法:publicinterfaceIValueType{TValue{get;set;}}publicabstractclassValueType:IValueType{publicabstractTValue{get;set;}publicstaticexplicitoperatorT(ValueTypevt){if(vt==null)returndefault(T);returnvt.Value;}publicsta

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

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

c# - 使用 LINQ for Entity Framework 将实体转换为通用方法中的已实现接口(interface)

我有一个通用方法来查询EF中TEntity类型的对象。如果TEntity实现特定接口(interface),我想将条件添加为where子句。我的方法是:publicTEntityGetByUserID(GuiduserID){varquery=this.DbSet;if(typeof(TEntity).IsImplementationOf()){query=query.Where((x=>!((IDeletableEntity)x).IsDeleted);}returnquery.FirstOrDefault(x=>x.UserID==userID);}IsImplementation