草庐IT

value-type

全部标签

c# - 如何解决错误 : Inconsistent accessibility: parameter type for generic c# interface?

将此代码写入我的项目时出现错误Error1Inconsistentaccessibility:fieldtype'System.Collections.Generic.List'islessaccessiblethanfield'Jain_milan.addchild.m_children'Error2Inconsistentaccessibility:parametertype'System.Collections.Generic.List'islessaccessiblethanmethod'Jain_milan.addchild.addchild(System.Collectio

c# - 如何将对象集合/字典序列化为 <key>value</key>

有没有办法将键/值对(最好是强类型,但也可能来自字典)序列化为下面所需的格式?publicListIdentifiers=newList();publicclassIdentifier{publicstringName{get;set;}publicstringDescription{get;set;}}这通常会序列化为以下内容:somenamesomedescription...我们考虑的另一种可能的方法是使用哈希表/字典:publicDictionaryIdentifiers=newDictionary{{"somename","somedescription"},{"anothe

c# - 构造函数或属性 : which one is the better choice while assigning values

在赋值时我们应该在属性上使用构造函数,反之亦然。 最佳答案 构造函数是一种非常方便且功能强大的契约类型-一种要求消费者在甚至可以使用您的对象之前提供某些信息的方法。因此,对于实例正常运行所必需的信息,请使用构造函数参数。这是依赖注入(inject)的基本概念-任何你依赖于完成你的工作的东西,都必须在你开始之前注入(inject)(提供)给你。属性可以代表一个有趣的问题。总的来说,经验告诉我,只要有可能,属性应该是只读的,对象通常应该尽可能在外部不可变。将公共(public)setter添加到属性会使您的类的复杂性成倍增加。当然总是有

C# 泛型 : cast generic type to value type

我有一个泛型类,它保存指定类型T的值。该值可以是int、uint、double或float。现在我想获取值的字节以将其编码为特定协议(protocol)。因此我想使用方法BitConverter.GetBytes()但不幸的是Bitconverter不支持泛型类型或undefinedobject。这就是为什么我要转换值并调用GetBytes()的特定重载。我的问题:如何将通用值转换为int、double或float?这不起作用:publicclassGenericClasswhereT:struct{T_value;publicvoidSetValue(Tvalue){this._va

c# - VS2010 'Show Derived Types' 类 View 中缺少选项

我正在VisualStudio2010中处理VisualC#项目,并在类View中浏览各种类型。根据this文档中,类View设置菜单中应该有一个类似于“显示基本类型”选项的“显示派生类型”选项。然而,它似乎不见了。我还没有设法找到任何错误报告或对这个问题的引用,所以我想知道我是否只是遗漏了一些东西。 最佳答案 我在VisualStudio2010中看到它,这是一个具有派生类型的C++项目。但是,在使用派生类型提到的C#项目中,未提供此选项。我正在检查一个没有派生类型的项目,看看这是否会导致该选项被禁用。编辑:似乎没有派生类型的项目

c# - 为什么不能将 Type 用作常量值?

引用MSDN-const(C#reference):Aconstantexpressionisanexpressionthatcanbefullyevaluatedatcompiletime.Therefore,theonlypossiblevaluesforconstantsofreferencetypesarestringandanullreference.根据:typeof(T)vs.Object.GetType()performance,typeof(T)是一个编译时表达式。那么为什么Type不能是常量值呢?以下代码不会编译:publicconstTypeINT_TYPE=ty

c# - T 上的泛型约束同时是引用类型和值类型?

我无法理解通用约束的工作原理。我想我在这里遗漏了一些重要的东西。我在评论中附上了我的问题,如果您能提供一些解释,我们将不胜感激。//1stexample:classCwhereT:classwhereU:struct,T{}//Abovecodecompileswell,//OnfirstsightitlookslikeUmightbereferencetypeandvaluetype//atthesametime.TheonlyreasonIcanthinkof,isthatTmaybean//interfacewhichstructcanimplement,AmIcorrect?/

c# - Rhino Mocks 的 "requires a return value or an exception to throw"是什么意思?

模拟对WCF服务的调用时,出现以下错误:Method'ICustomerEntities.GetCustomerFromPhoneNumber("01234123123");'requiresareturnvalueoranexceptiontothrow.我用谷歌搜索并在这里搜索-我能找到的只是我需要重新订购各种电话等,但在我的情况下这似乎没有意义?也许有人可以向我指出它实际上确实?我的测试设置是这样的_entities=MockRepository.GenerateStrictMock();并且第三行测试方法失败,设置result2_entities.Expect(ip=>ip.G

c# - .NETStandard 1.0/.NET Core 中 Type.GetGenericArguments() 的等价物是什么?

.NETStandard1.0中“缺少”方法System.Type.GetGenericArguments(),我认为TypeInfo.GenericTypeArguments是的替代品GetGenericArguments(),但不幸的是,当提供开放泛型类型时,它们的行为会有所不同。以下面的代码为例:Typetype=typeof(ICommandHandler);type.GetGenericArguments();//return{TCommand}type.GetTypeInfo().GenericTypeArguments;//returnsemptyarray虽然GetGe

c# - Dapper 抛出 "Invalid type owner for DynamicMethod."

所以我正在尝试使用Dapper.net,而且我很喜欢它。我不喜欢的是当我尝试批量插入实体时抛出以下错误:DynamicMethod的类型所有者无效。atSystem.Reflection.Emit.DynamicMethod.Init(Stringname,MethodAttributesattributes,CallingConventionscallingConvention,TypereturnType,Type[]signature,Typeowner,Modulem,BooleanskipVisibility,BooleantransparentMethod,StackCra