草庐IT

data-type-defaults

全部标签

c# - Mono.Cecil type.IsAssignableFrom(derivedType) 等效项

我正在使用Mono.Cecil在Assembly中查找派生自给定的类型。通常可以使用IsAssignableFrom()方法来完成,但我无法确定它在Cecil中是等效的。有没有这样的方法或其他方法来检查它?谢谢迈克 最佳答案 继承检查和“赋值兼容性”检查实际上是不同的东西。您要检查继承还是“分配兼容性”?赋值兼容性包括很多东西,包括有符号/无符号转换、枚举到基类型的转换、char至short转换、通用方差转换、从接口(interface)到object的转换,从数组到IList和IList以及它们的基本接口(interface)、数

c# - System.Data.IDbCommand 和异步执行?

系统.数据.SqlClient.SqlCommand有方法BeginExecuteNonQueryBeginExecuteReaderBeginExecuteXmlReader和EndExecuteNonQueryEndExecuteReaderEndExecuteXmlReader用于异步执行。System.Data.IDb命令只有ExecuteNonQueryExecuteReaderExecuteXmlReader仅用于同步操作。有异步操作的接口(interface)吗?另外,为什么没有BeginExecuteScalar? 最佳答案

c# - 使用 JsonConverter 的 Json.NET 自定义序列化 - 如何获得 "default"行为

我的类DataType有一个JsonConverter。当在Json中使用纯字符串作为DataType类型的属性值时,我想做一些特殊处理。在值是“完整”对象的情况下,我想进行“正常”反序列化。这是我的尝试publicoverrideobjectReadJson(JsonReaderreader,TypeobjectType,objectexistingValue,JsonSerializerserializer){if(reader.Value!=null&&reader.ValueType==typeof(string)){returnsomeSpecialDataTypeInsta

c# - Visual C# 2010 速成版 : Specify default access modifier for new classes?

每当我使用VisualStudio2010ExpressC#创建新类时,它都会创建没有访问修饰符的新类。10次中有9次我希望我的新类(class)公开。如何让VisualStudio默认使用“public”修饰符创建空类模板? 最佳答案 诀窍是创建一个名为Class的新项模板。然后,当您执行“添加”>“新建类”时,默认情况下将选择您的模板,而不是内置的类模板。(我不确定这种行为是否得到保证,但它可以在我的机器上运行(TM)。)创建模板:右键单击您的项目并选择“添加”>“类”。您可以接受默认名称(Class1)-这只是一个临时文件。修

c# - Linq 和相等运算符 : Expression of type 'System.Int32' cannot be used for parameter of type 'System.Object'

我试图重写C#中的相等(==)运算符来处理任何类型与自定义类型的比较(自定义类型实际上是null周围的包装器/框)。所以我有这个:internalsealedclassNothing{publicoverrideboolEquals(objectobj){if(obj==null||objisNothing)returntrue;elsereturnfalse;}publicstaticbooloperator==(objectx,Nothingy){if((x==null||xisNothing)&&(y==null||yisNothing))returntrue;returnfal

c# - EF6 : Code First Complex Type

我无法让EntityFramework将具有值对象(复杂类型)字段的域实体类展平到一个表中。如果我告诉我的模型构建器忽略我的值对象/复杂类型,一切正常,但这会导致我的表中丢失值对象的所有属性。一旦删除忽略语句,我就会得到“在多个位置创建跨实体共享的值”。如果我查看生成的CESQL文件,我会看到一个额外的表,该表以我的域类命名并附加了1,并且仅包含值对象参数。一些代码:我的领域类:publicUser{privateUser(){}publiclongId{get;privateset;}//dontask,inheritedlegacydatabasepublicstringUserI

c# - Settings.Default.<property> 始终返回默认值而不是持久存储(XML 文件)中的值

我最近用C#(.Net2.0)编写了一个DLL,其中包含一个需要IP地址的类。我的一位同事更改了类以从“.dll.config”(XML)文件中检索IP——这显然是由他创建的“应用程序设置”文件(Settings1.settings)自动生成的。这样做的好处是允许最终用户随意更改XML/config文件中的IP地址。不幸的是,当我从树中checkout他的代码并尝试编译(或使用)这个新代码时,任何调用这个DLL的应用程序只获得默认值,而不是文件中的值。调用配置文件的构造函数如下所示:publicclassform:System.Windows.Forms.Form{publicform

c# - Protobuf-Net 错误消息 : No Serializer defined for type: System. 类型

我在尝试序列化List>时收到以下错误消息:没有为类型定义序列化器:System.Type我都试过了,只是序列化上述集合或序列化一个类,该类具有定义为protoMember的相同集合。两者都会导致相同的错误消息。这是不受支持的类型吗?我认为它是受支持的,但我忽略了其他一些东西,但也许我不正确?感谢任何可能有助于解决此问题的指示... 最佳答案 编辑:r580中包含对Type序列化的支持protobuf-net旨在序列化您的数据,而不是您的实现;Type是一个实现细节。严格来说,添加起来并不难(一些特定于实现的细节实际上已经通过程序集

c# - default(CancellationToken) 如何有相应的 CancellationTokenSource

当我创建默认的CancellationToken时,我可以在调试器中看到CancellationToken有一个与其关联的CancellationTokenSource,它存储在私有(private)m_source字段:我想知道对于default关键字"willreturneachmemberofthestructinitializedtozeroornulldependingonwhethertheyarevalueorreferencetypes"的结构怎么可能呢?CancellationTokenSource是引用类型。CancellationToken确实有2个构造函数来设置

c# - 执行时 ASP.Net MVC "Could Not Load Type"

我有一个非常简单的ASP.NetMVC应用程序,它是根据在线教程生成的。我已完全按照它一步一步地进行,并尝试了多次,但在执行代码时不断出现相同的错误。该程序仅显示一个索引页面,该页面使用linqtosql列出了来自sqlserver数据库的一系列数据。这是错误:无法加载类型“MvcApplication1.Views.Home.Index”。知道问题出在哪里吗? 最佳答案 可能的答案在这里:http://www.jondavis.net/techblog/post/2009/04/29/Set-Up-IIS-For-An-MVC-A