草庐IT

generics

全部标签

c# - 是否可以创建用于将项目添加到 Entity Framework dbset 的通用方法?

我之前没有使用过EntityFramework或泛型,在减少我的代码时遇到了一些困难。我正在解析一个文本文件以加载10个查找表,其中包含可能每晚都可能更改的数据。文本文件有一个“类型”标题,后跟键/值集列表。我已经完美地工作了,但我想重构代码以清理它,并想使用通用方法来完成它,这样我就可以减少重复的代码。我已经将解析归结为通用方法,但我无法弄清楚如何以通用方式将实体添加到上下文中。我必须遍历每种类型的实体列表并将它们添加到上下文中:voidMain(){switch(line.ToUpper()){case"AREA":{ListareaList=this.GetItems(file)

c# - 如何将动态用作泛型?

如何将动态用作泛型?这个varx=somethingnotstronglytyped;callFunction();还有这个dynamicx=somethingnotstronglytyped;callFunction();都产生这个错误Error1Thetypeornamespacename'x'couldnotbefound(areyoumissingausingdirectiveoranassemblyreference?)我能对x做什么使其足够合法以用于? 最佳答案 您可以使用类型推断对调用进行排序:dynamicx=som

c# - 在 C# 中是否有等同于 typedef 的东西?

比如typedefDictionarymydict;我发誓我见过它但找不到它 最佳答案 usingMyDict=Dictionary这就像定义一个将被编译器替换的符号。 关于c#-在C#中是否有等同于typedef的东西?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/6048927/

c# - 为什么在测试受约束的泛型类型时直接转换失败但 "as"运算符成功?

``在编译一些使用具有类型约束的泛型的C#代码时,我遇到了一个有趣的好奇心。我写了一个快速测试用例来说明。我在VisualStudio2010中使用.NET4.0。namespaceTestCast{publicclassFruit{}publicclassApple:Fruit{}publicstaticclassTest{publicstaticvoidTestFruit(FruitTypefruit)whereFruitType:Fruit{if(fruitisApple){Appleapple=(Apple)fruit;}}}}转换为Apple失败并出现错误:“无法将类型‘Fr

c# - 等于 System.Collections.Generic.List<T>... 的方法?

我正在创建一个派生自List的类...publicclassMyList:List{}我已经覆盖了MyListItem的Equals...publicoverrideboolEquals(objectobj){MyListItemli=objasMyListItem;return(ID==li.ID);//IDisapropertyofMyListItem}我也想在MyList对象中有一个Equals方法,它将比较列表中的每个项目,在每个MyListItem对象上调用Equals()。简单地调用...会很好MyListl1=newMyList(){newMyListItem(1),ne

c# - 为什么为泛型发出 'box' 指令?

这是一个相当简单的泛型类。泛型参数被限制为引用类型。IRepository和DbSet也包含相同的约束。publicclassRepository:IRepositorywhereTEntity:class,IEntity{protectedreadonlyDbSet_dbSet;publicvoidInsert(TEntityentity){if(entity==null)thrownewArgumentNullException("entity","Cannotaddnullentity.");_dbSet.Add(entity);}}编译后的IL包含box指令。这是发布版本(调试

C#:泛型类中的嵌套类是否应该被视为泛型?

namespaceGenericsTest{publicclassAGenericClass{publicclassNestedNonGenericClass{}}}在上面的例子中,应该NestedNonGenericClass被认为是泛型类?反射API说它是一个泛型类,甚至把包含类的模板参数作为嵌套类的模板参数交给我。TypenestedClass=typeof(AGenericClass.NestedNonGenericClass);Console.Out.WriteLine("IsGeneric:{0}\tHasGenericArguments:{1}",nestedClass.

c# - 默认(T)与 Activator.CreateInstance(T)

我想知道以下语句是否会为引用类型返回不同的结果,或者它们是否相同?default(T)Activator.CreateInstance(T)如果它们是相同的,在这个例子中,如果目标是输出T的默认值,您是否总是使用default(T)?:if(typeof(T).IsValueType||typeof(T)==typeof(String)){returndefault(T);}else{returnActivator.CreateInstance();}Bestwaytotestifagenerictypeisastring?(c#)来了! 最佳答案

c# - Curiously Recurring Template Pattern 和泛型约束 (C#)

我想在基泛型类中创建一个方法来返回派生对象的专门集合并对它们执行一些操作,如以下示例所示:usingSystem;usingSystem.Collections.Generic;namespacetest{classBase{publicstaticListDoSomething(){Listobjects=newList();//fillthelistsomehow...foreach(Ttinobjects){if(t.DoSomeTest()){//error!!!//...}}returnobjects;}publicvirtualboolDoSomeTest(){return

c# - 泛型:如何检查 T 的确切类型,没有 T 的对象

如果没有T的对象,我如何检查/评估T的确切类型。我知道我的问题可能令人困惑,但考虑一下......publicabstractclassBusiness{publicabstractstringGetBusinessName();}publicclassCasino:Business{publicoverridestringGetBusinessName(){return"CasinoCorp";}}publicclassDrugStore:Business{publicoverridestringGetBusinessName(){return"DrugStorebusiness";