草庐IT

Type_system

全部标签

c# - 如何修复 'T' 是 'type parameter' 但被用作 'variable' 编译错误

我需要检查泛型类型参数T是MyEntity还是它的子类。下面的代码会导致这个编译器错误:'T'isa'typeparameter'butisusedlikea'variable'如何修复?publicclassMyEntity{}staticvoidTest(){//Error34'T'isa'typeparameter'butisusedlikea'variable'if(TisMyEntity){}} 最佳答案 您可以使用IsAssignableFromType上的方法检查是否有一个Type可以分配给另一个。if(typeof(

使用 Json.Net : Error converting value to type 的 C# 枚举反序列化

我正在使用Json.NET序列化/反序列化一些JSONAPI。API响应有一些整数值映射到应用程序中定义的枚举。枚举是这样的:publicenumMyEnum{Type1,Type2,Type3}并且JSONAPI响应具有以下内容:{"Name":"abc","MyEnumValue":"Type1"}有时,API会为我的枚举中未定义的MyEnumValue字段返回一个值,如下所示:{"Name":"abc","MyEnumValue":"Type4"}抛出异常:Errorconvertingvalue"Type4"totype'MyEnum'有没有办法通过分配默认值或其他方法来避免应

c# - 通用扩展方法 : Type argument cannot be inferred from the usage

我正在尝试创建一个适用于类型化数据表的通用扩展方法:publicstaticclassExtensions{publicstaticTableTypeDoSomething(thisTableTypetable,paramExpression>[]predicates)whereTableType:TypedTableBasewhereRowType:DataRow{//dosomethingtoeachrowofthetablewheretherowmatchesthepredicatesreturntable;}[STAThread]publicstaticvoidmain(){M

c# - System.Net.Http.HttpClient 缓存行为

我正在使用NuGet的HttpClient0.6.0。我有以下C#代码:varclient=newHttpClient(newWebRequestHandler(){CachePolicy=newHttpRequestCachePolicy(HttpRequestCacheLevel.CacheIfAvailable)});client.GetAsync("http://myservice/asdf");服务(这次是CouchDB)返回一个ETag值和状态代码200OK。返回了一个Cache-Controlheader,其值为must-revalidate更新,这是来自couchdb的

c# - 将内容复制到流时出现 System.Net.Http.HttpRequestException 错误

我在.NETFramework4.5.2中使用HttpClient类。我针对第三方网络服务调用PostAsync。80%的时间这篇文章有效,20%的时间我们的回复被缩短。在这种情况下,我们得到以下异常:System.Net.Http.HttpRequestException:Errorwhilecopyingcontenttoastream.--->System.IO.IOException:Unabletoreaddatafromthetransportconnection:Anexistingconnectionwasforciblyclosedbytheremotehost.--

c# - 在 VS2015 中找不到 System.Web.Helpers

我正在尝试向VS2015中的C#代码添加一些JSON解析,但我找不到:系统.Web.Helpers如MS文档所建议的那样。我看过其他人的类似性质的问题(几乎都是早期版本),答案都说将其添加到程序集/框架对话框中。问题是它没有出现在那个对话框中,我看到人们谈论的许多其他事情也没有出现。如果能帮我解决这个问题,我将不胜感激。这是我有权访问的列表:编辑:同时添加了扩展窗口 最佳答案 这个问题有点老,但这里有一个简单的解决方案——微软似乎只是将这个库移动到一个名为“microsoft-web-helpers”的Nuget包中。安装该软件包似

c# - 使用 Entity Framework Fluent Api 映射 System.Uri

很简单的问题。我有一个模型,它有一个System.Uri类型的属性。Uri没有默认的无参数构造函数,也没有ID字段。有没有什么方法可以覆盖我的模型生成以自定义方式将其存储在数据库中(例如,作为string)?在NHibernate中,我之前通过实现IUserType来完成此操作,但我在CodeFirst中找不到类似的机制。显然,我可以创建一个自定义类型,它在后台使用Uri并公开常规的可映射属性和构造函数,我只是想知道是否有任何方法可以映射此系统类型,以便我不必制作那样的包装器。 最佳答案 这是一个非常古老的问题,但我今天刚遇到同样的

c# - "Possible multiple enumeration of IEnumerable"与 "Parameter can be declared with base type"

在Resharper5中,以下代码导致list出现警告“Parametercanbedeclaredwithbasetype”:publicvoidDoSomething(Listlist){if(list.Any()){//...}foreach(variteminlist){//...}}在Resharper6中,情况并非如此。但是,如果我将方法更改为以下内容,我仍然会收到该警告:publicvoidDoSomething(Listlist){foreach(variteminlist){//...}}原因是,在这个版本中,list只枚举一次,所以改成IEnumerable不会自动

c# - 如何在 C# 中从 System.Array 转换为 object[]

我有一个COM函数需要object[]作为参数:foo(object[]values)我想将一些enum字段传递给它,所以我使用以下内容:object[]fields=(object[])Enum.GetValues(typeof(SomeEnumType));但是,当我尝试将fields传递给foo(...)时,即[foo(fields)]我得到一个错误:"Unabletocastobjectoftype`SomeEnumType[]'totype'system.Object[]'.谁能告诉我我做错了什么? 最佳答案 如异常所述,

c# - 将 xml 反序列化为对象时出错 : System. FormatException 输入字符串格式不正确

您好,在此先感谢您的帮助。我在尝试使用XmlSerializer和StringReader将XElement反序列化为对象时遇到问题。我的反序列化代码是这样的:/*deseierializeasingleRegisterServerObjectinstancefromxml*/staticRegisterServerObjectDeserializeSingleServerFromXml(XElementserverElement){XmlSerializerdeserializer=newXmlSerializer(typeof(RegisterServerObject));Regi