Tag: 类型

创建通用排序方法

我正在学习generics类型,并希望创建一个通用的QuickSort方法,问题是类不是共变量而代码无法编译。 问题是使分区方法通用,我不知道如何做,任何指导将不胜感激。 public static void Swap(ref T a, ref T b) { T temp = a; a = b; b = temp; } public static int Partition(int[] array, int mid) { int midPoint = mid, upperBound = array.Length – 1, lowerBound = 0; while (lowerBound != upperBound) { while (midPoint array[upperBound]) { Swap(ref array[midPoint], ref […]

检查对象列表中的对象类型

得到一个带有StackPanel的WPF表单,其中包含ExpPaders和StackPanels。 我在对象列表中阅读了Expander的内容。 现在我必须知道列表是否包含stackpanel类型的对象。 List tmpList = new List(); tmpList = ReadChild((StackPanel)exp.Content) //gives out the content of an expander. In the Upper case it is 2 StackPanels if(tmpList.Contains.typeof(StackPanel)=true) //that’s wrong { //search for the Stackpanel with lables in it }

C#在可访问变量中存储string,int,string

我需要保存一个包含静态数据的国家/地区列表的类。 数据是用 string shortName //Primary Key – (IL or UK for example) int ID //Unique – has no meaning, but needs to be saved string longName //(Israel or United Kingdom for example) 我想把它保存在一个字典中: Dictionary<string , Dictionary> list = new Dictionary<string, Dictionary>(); 这是我在课堂上需要的API: Countries.getByShortName();// I dont know what to return, I’d love some advise Countries.getById();// I […]

通过C#reflection获取类的Enum

我有一个Enum喜欢 namespace EnumTest { public class Enumeration { public Enumeration(); public enum Days { day = sunday, night = monday } } } 如何通过反思获取类型信息数天。 Type type = assembly.GetType(Days); Type type = typeof(Days)将返回Type type = typeof(Days)的类型信息。 如果我有String s = “Days” ,使用此字符串s我需要获取Days的类型信息。 我需要类型=天

如何确定类型是否是Action / Func委托之一?

除此之外还有一种更好的方法来确定type是否是Action 委托之一。 if(obj is MulticastDelegate && obj.GetType().FullName.StartsWith(“System.Action”)) { … }

X是一个变量,但在尝试投射时使用的类似

我传递了一个我要查询的实体类型名称的字符串,并根据字符串获取类型。 我想让DbSet返回并返回IQueryable 。 问题是我在做什么(DbSet)并得到以下错误: tableEntity是一个变量,但像类型一样使用 当试图施放。 有办法解决这个问题吗? public object GetList(string tableEntity) { Type tableEntity = Type.GetType(“TestProject.” + typeName + “, TestProject”); var dbObject = (DbSet)typeof(DbContext).GetMethod(“Set”, Type.EmptyTypes) .MakeGenericMethod(tableEntity) .Invoke(databaseContext, null); return dbObject.AsQueryable(); } 编辑 只是要添加我无法访问我们通过字符串传递名称的类型。

C#中的Cast ()或List 中的是什么

我知道这可能是一个骗局,但我不能为我的生活记住这个名字是什么,甚至是如何查找它。 我知道T会是你要投射的类型,但它的技术名称是什么。 编辑这是一个链接,了解有关generics的更多信息 为什么C#和VB有generics? 他们提供了什么好处? generics,FTW

给定约束generics方法,我可以调用非generics方法传递generics参数的实际类型

我知道尴尬的标题,最好在代码中解释。 给定一组类: public abstract class MyBaseType { public string Message { get; set; } } public class MySuperType : MyBaseType { public string AdditionalInfo { get; set; } } public class MyOtherSuperType : MyBaseType { public DateTime Started { get; set; } public DateTime Finished { get; set; } } 有没有办法编写一个generics方法,该方法调用传递generics类型的非generics方法,同时将传递的类型解释为其实际类型而不是基类型。 也就是说,我想写这样的东西: public void OutputFormattedTypeInfo(T […]

在运行时使用Type变量创建Type类型

我正在尝试简化我在一个函数中创建几个变量的方法,这个变量针对不同的类型和不同的动作重复,最终我将迁移到一个可以处理多种类型的函数,但我正在分阶段进行。 我希望能够在其类型而不是列表中创建对象列表,而无需在任何地方复制/粘贴对象类型。 我曾希望通过一些非常简单的事情来实现这一目标 Type t = typeof(LinkAddy); var x = List(); 但这不编译。 然后我尝试了以下答案提供的另一种解决方案: 存储变量类型并使用它在运行时创建集合 static IList createGenericList(Type typeInList) { var genericListType = typeof(List).MakeGenericType(new[] { typeInList }); return (IList)Activator.CreateInstance(genericListType); } 和 static List createGenericList() { List genericListType = new List(); return genericListType; } 所以这里有不同的方法和结果: Type ThisType = typeof(LinkAddy); // The normal list method, means I have […]

PropertyInfo GetValue()对象与目标类型不匹配

我想读取T型的值 public virtual ActionResult Edit(TEditDTO editedDTO) { if (!ModelState.IsValid) return View(editedDTO); var t = editedDTO.GetType(); var prop = t.GetProperty(“Id”) ; var Id = prop.GetValue(t); // get exception } 但得到 对象与目标类型不匹配