草庐IT

null_object

全部标签

c# - 反序列化使得字段是一个空列表而不是 null

如果我有这样的类(class):[DataContract(Name="",Namespace="")]publicclassMyDataObject{[DataMember(Name="NeverNull")]publicIListMyInts{get;set;}}当反序列化以下字符串时,有没有一种方法可以使MyInts字段成为非空空列表?stringserialized=@"{""NeverNull"":null}";MyDataObjectmyDataObject=JsonConvert.DeserializeObject(serialized);我正在使用Newtonsoft.

c# - .net Core amd Roslyn CSharpCompilation,类型 'Object' 在未引用的程序集中定义

我正在尝试将一些.net代码移植到新的Core运行时,但我在移植一些即时编译时遇到了麻烦。继续,它总是要求我提供对System.Runtime和mscorlib的引用,但不知道如何引用它们。附带说明一下,我不能引用Framework4.6,因为该项目必须发布到带有.netCore的Linux机器上。这是最少的代码:stringtestClass=@"usingSystem;namespacetest{publicclasstes{publicstringunescape(stringText){returnUri.UnescapeDataString(Text);}}}";varcom

c# - 具有循环依赖的静态字段的反射 GetValue 返回 null

注意:以下代码实际上工作正常,但显示了我自己的解决方案中失败的场景。有关详细信息,请参阅本文底部。有了这些类:publicclassMainType{publicstaticreadonlyMainTypeOne=newMainType();publicstaticreadonlyMainTypeTwo=SubType.Two;}publicsealedclassSubType:MainType{publicnewstaticreadonlySubTypeTwo=newSubType();}获取字段One和Two:ListfieldInfos=typeof(MainType).GetF

c# - 在 Dynamic Linq Order By 上保留 NULL 行

我正在使用下面的代码片段来动态排序我的Linq查询并且效果很好。我不擅长反射或复杂的linq查询,但我需要一种方法,当使用升序时,NULL值在最后,反之亦然。因此,如果我的属性名称是一个整数并且列值是1、3、5,则默认情况下所有NULL行都将位于末尾,而不是开头。我可以向这个表达式添加什么来实现它?此代码适用于EntityFramework,但仍需要进行NULL比较。示例list.OrderBy("NAMEDESC").ToList()类publicstaticclassOrderByHelper{publicstaticIOrderedQueryableThenBy(thisIEnu

c# - 错误 : The object cannot be deleted because it was not found in the ObjectStateManager

试图在这里处理EntityFramework,但我遇到了一些减速带......我有一个Get()方法可以正常工作并且已经过测试,但是我的Delete方法不起作用:publicstaticvoidDelete(stringname){J1Entitiesdb=newJ1Entities();db.DeleteObject(Get(name));db.SaveChanges();}但是我收到以下错误:错误:无法删除该对象,因为在ObjectStateManager中找不到它。我运行了调试器,DeleteObject中的对象是正确的...我错过了什么?谢谢。 最佳

c# - 异步任务中的 HttpContext.Current null

我有一个使用存储库的方法(userRepo):publicoverrideTaskCreateLocalUserAsync(IUseruser,stringpassword,CancellationTokencancellationToken){vartask=newTask(()=>{TUserEntitynewUser=newTUserEntity{Id=user.Id,UserName=user.UserName,Password=password};userRepo.Save(newUser).Flush();returnnewIdentityResult(true);},ca

c# - 在 Linq-To-Sql 中避免 "Nullable object must have a value."

我有一个这样的方法查询:publicIListGetBusinessObject(Guid?filterId){using(vardb=newL2SDataContext()){varresult=fromboindb.BusinessObjectswhere(filterId.HasValue)?bo.Filter==filterId.value:trueorderbybo.NameselectSqlModelConverters.ConvertBusinessObject(bo);returnresult.ToList();}}在运行时,这会抛出一个System.InvalidOp

c# - 使用 DateTime.MinValue 还是可以为 null 的 DateTime 更好?

如果我在名为“TimeLastAccessed”的类上有一个DateTime,那么这个DateTime是否可以为null更有意义:publicDateTime?TimeLastAccessed{get;set}if(TimeLastAccessed==null)//...handleit表明它从未被访问过或检查DateTime.MinValuepublicDateTimeTimeLastAccessed{get;set;}if(TimeLastAccessed==DateTime.MinValue)//...handleit? 最佳答案

c# - 在 C# 中,是否应该检查传递给方法的引用是否为 null?

嗯,几个月前我问过asimilarquestionaboutCandC++,但由于整个“WindowsPhone”问题,我最近更加关注C#。那么,在C#中,是否应该在方法边界检查NULL?我认为这与C和C++不同,因为在C#中,通常可以确定给定引用是否有效——编译器会阻止将未初始化的引用传递到任何地方,因此唯一可能的错误是它为null.此外,在.NETFramework中为这些东西定义了一个特定的异常,即ArgumentNullException。,这似乎将程序员认为在传递无效null时应该得到的东西编成法典。我个人的意见再次表明,这样做的调用者是错误的,并且说调用者应该向他们抛出NR

c# - ExecuteScalar 调用抛出异常 "Object reference not set to an instance of an object"

在单元测试中调试以下方法时出现以下错误Objectreferencenotsettoaninstanceofanobject点击以下行时result=(int)validateDatabase.ExecuteScalar();方法是publicstaticBooleanValidate(stringargument1,stringargument2){intresult=-1;using(varconnection=newSqlConnection("connectionstring")){SqlCommandvalidateDatabase=newSqlCommand("PROCED