【C#中的类型推断】教程文章相关的互联网学习教程文章

c#-参数数据类型文本对于下部函数的参数1无效【代码】

在应用程序的搜索功能中,我实现了一个搜索功能,该功能针对数据库执行以下语句.resultsquery = db.DBMovies.Where(m => (m.Actors.ToLower()).Contains(q.ToLower()))在q.ToLower()部分中,我读取了url参数q并将其转换为小写字母并在相关的数据库列中找到了它.在我的数据库中,“演员”列的类型为“文本”,而不是varchar.当我运行应用程序时,我收到一个名为Argument数据类型text的异常,该异常对于较低函数的参数1无效.有什么办法可以避...

c#-无法在Mono中加载类型’System.Web.Http.WebHost.Routing.HttpRouteExceptionHandler’【代码】

我尝试在Mono中使用最新的Asp.Net Web API,但错误显示如下:System.TypeLoadException Could not load type 'System.Web.Http.WebHost.Routing.HttpRouteExceptionHandler' from assembly 'System.Web.Http.WebHost, Version=5.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.Description: HTTP 500.Error processing request. Details: Non-web exception. Exception origin (name of application or object): System...

C#:确定蓝牙适配器是否已打开/关闭(以编程方式)使用的堆栈类型

如何以编程方式判断运行该代码的设备上的蓝牙适配器是打开还是关闭? 使用32feet的发现方法(例如“ cli.DiscoverDevices()”)在两种情况下都不会返回任何设备 >蓝牙适配器处于打开状态,但没有可用的设备.>蓝牙适配器关闭. 另外,我知道从Windows的设备管理器中找到正在使用的蓝牙堆栈类型的直观方法,但是我想找出是否也可以在代码中识别出这种类型.解决方法:https://32feet.codeplex.com/wikipage?title=Local%20Radio%20Informatio...

c#-类型为“ BitmapHandle”的SafeHandle或CriticalHandle无法正确释放带有值的句柄【代码】

在WPF应用程序中关闭SplashScreen时,出现以下错误:Message: A SafeHandle or CriticalHandle of type 'BitmapHandle' failed to properly release the handle with value 0xD0052B9B. This usually indicates that the handle was released incorrectly via another means (such as extracting the handle using DangerousGetHandle and closing it directly or building another SafeHandle around it.) ReleaseHandleFailed was...

c#-仅使用Automapper映射特定类型【代码】

public class Destination {public decimal Obj1 { set; get; }public decimal Obj2 { set; get; }public int Obj3 { set; get; } }public class Source {public decimal Obj1 { set; get; }public decimal Obj2 { set; get; }public decimal Obj3 { set; get; } }如何将Source类映射到Destination中,但仅将十进制类型映射到Automapper中?解决方法:我认为您可以为此使用条件映射: 以下示例将仅映射源和目标类型为十进制的属性.您...

C#-可以返回不同类型的通用方法【代码】

我有一个基本的抽象类,它旨在允许实现者返回不同的类型:protected abstract T GetMyValue<T>();我希望实现类能够执行以下操作:T myResult; public override T GetMyValue<T>() {return _myResult; }我希望呼叫者指定类型:int i = obj.GetMyValue<int>();这可能吗?解决方法:一种选择是将字段存储为对象.这将导致对结构进行装箱,但是没有更重要的更改,没有更好的方法.class Derived : Base {private object o;protected over...

C#-从一元类型方法(或类)创建并返回多类型泛型【代码】

这是场景: 创建具有多个通用类型的实例,例如:var obj = myBuilder.Combine<TypeA>().And<TypeB>.And<TypeC>.Create();我希望由Create()返回的obj被键入 组合< TypeA,TypeB,TypeC> 我知道我可以使用MakeGenericType创建泛型实例,但是如何在不同的方法上合并并返回泛型类型呢? 我不想从客户端代码中的Create()typecast返回对象.我觉得这是多余的和丑陋的:var obj = (Combined<TypeA, TypeB, TypeC>) myBuilder.Combine<TypeA>()....

c#MVC Dropdownlist-没有类型为“ IEnumerable”的ViewData项,其键为“”【代码】

香港专业教育学院一直试图通过添加一个DropDownList到home / contact.cshtml来扩展以前的项目. 我的问题是在Firefox中加载页面时,我始终收到以下错误 错误:System.Web.Mvc.dll中发生类型为’System.InvalidOperationException’的异常,但未在用户代码中处理没有类型为“ IEnumerable”的ViewData项目具有键“ displayGraph” 我在另一个工作正常的页面上找到了另一个下拉列表(相同的方法),如果我将相同的代码复制到一个可以正常工...

C#基本类型别名的结构开销?【代码】

我注意到C#中的基本类型实际上只是实现为System名称空间中定义的结构的别名,例如ulong是System.UInt64(结构类型)的别名.由此导致C#中的原始类型有额外的时空开销吗?说,乌龙真的只消耗8个字节的内存吗? 从本质上讲,这应该测试内存开销:using System;class Program {static void Main(){long beforeAlloc = GC.GetTotalMemory(false);ulong[] myArray = new ulong[System.Int32.MaxValue];myArray[0] = 1;long afterAlloc = GC.Ge...

c#-获取实现类型的具体属性【代码】

鉴于以下课程public Foo {public Foo() {this.Bar = new Bar();}public IBar Bar{ get; set;} }public Bar : IBar {// implemented properties}如何使用反射获得Foo属性Bar的具体实现?instance.GetType().GetProperty("Bar").PropertyType仅产生接口.解决方法:如果您尝试获取实现IBar的类型,则应获取其值并采用该类型:var type = instance.GetType().GetProperty("Bar").GetValue(instance,null).GetType()

C#强制转换泛型类型(如C用户定义的转换)【代码】

C#中有没有一种方法可以对泛型类型执行用户定义的转换? 例如:class Stack<T> {private T x; //should be an array but doesn't matter for this examplepublic Stack(T input){x = input;}public Stack<Q> Convert<Q>(Stack<T> inputStack){//what would go here ? The call is below.} }//main code Stack<int> stack = new Stack<int>(2); Stack<long> longstack = stack.Convert<long>(stack);我可以想象编译器可以在Convert...

如何在C#泛型中指定可从字符串构造的T? (通用类型约束)【代码】

我想为我的T指定必需的默认构造选项:public interface IParameter<T> /* where T : T(string) */ { T Value { get; set; }}因此,如果这样通过,我将能够从给定的字符串构造它:Value = "bla";或至少像这样:Value = new T("bla");那么,如何在C#泛型中指定可从字符串构造的T?解决方法:不幸的是,C#没有为通用参数提供任意的构造函数签名限制.只有a restricted number of constraints are supported,最接近的是new constraint.但是...

c#-EntityFramework.dll中发生类型为’System.InvalidOperationException’的异常,但在注册时未在用户代码中处理【代码】

我的代码中出现以下异常.An exception of type ‘System.InvalidOperationException’ occurred in EntityFramework.dll but was not handled in user code. Additional information: The entity type user is not part of the model for the current context.以下是我的注册控制器.using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc;namespace Registration2.Controll...

c#-创建扩展方法以将类型包装为IEnumerables【代码】

我想创建一个扩展方法,该方法可以有效地将单个对象包装为IEnumerables.这是为了避免最终在表达式中间放置新的[] {}的情况.使用以下方法很容易做到:public static IEnumerable<TSource> WrapAsEnumerable<TSource>(this TSource source) {return new[] { source }; }问题在于,这将应用于任何类型和所有类型(这是预期的行为),但这也会产生使方法在IEnumerable< T>上可用的副作用.实例.在解析的扩展类型是IEnumerable< T>的情况下,我...

如何在C#中编写两个类型为“委托”的lambda【代码】

假设我们定义了两个Lambda.Func<TInput, TOutput> a = …; Func<TInput1, TInput2, TOutput> b = …;现在,假设我们有一些不适用于泛型的代码,并且将这些Lambda作为进一步类型的委托接收.delegate da = a; delegate db = b;在该代码中,我们希望将两个lambda /委托组成一个新的,组成的lambda,例如(i1,i2)=> b(a(i1),i2),但是a和b是不可访问的,只有da和db是可访问的.如何以一种优雅的方式做到这一点?解决方法:这是您想要的吗?:Fun...