首页 \ 问答 \ 将值赋给属性时出现空错误(Null error when assigning value to property)

将值赋给属性时出现空错误(Null error when assigning value to property)

尝试创建一个自定义对象,允许我在记录中拾取错误。

public class gridIntegerField
{
    private int value;
    private bool isValid;
    private string message;



    public int Value
    {
        get { return this.value; }
        set { this.value = value; }
    }
    public bool IsValid
    {
        get { return isValid; }
        set { isValid = value; }
    }
    public string Message
    {
        get { return message; }
        set { message = value; }
    }


}

public class gridRecord    
{
    private gridIntegerField printRun;

    public gridIntegerField PrintRun
    {
      get { return printRun; }
      set { printRun = value; }
    }

}

当创建对象并尝试设置值时,我得到以下错误...

XML-Console.exe中发生了未处理的“System.NullReferenceException”类型异常

创建对象的代码......

gridRecord spr = new gridRecord();
spr.PrintRun.Value = 200;
spr.PrintRun.IsValid = true;
spr.PrintRun.Message = "No Errors";

Console.WriteLine(spr.PrintRun.Value.ToString());
Console.WriteLine(spr.PrintRun.IsValid.ToString());
Console.WriteLine(spr.PrintRun.Message.ToString());
Console.ReadKey();

错误发生在这行代码中

spr.PrintRun.Value = 200;

Trying to create a custom object that will allow me to pickup errors in the records.

public class gridIntegerField
{
    private int value;
    private bool isValid;
    private string message;



    public int Value
    {
        get { return this.value; }
        set { this.value = value; }
    }
    public bool IsValid
    {
        get { return isValid; }
        set { isValid = value; }
    }
    public string Message
    {
        get { return message; }
        set { message = value; }
    }


}

public class gridRecord    
{
    private gridIntegerField printRun;

    public gridIntegerField PrintRun
    {
      get { return printRun; }
      set { printRun = value; }
    }

}

when creating object and trying to set the values i get the folowing error...

An unhandled exception of type 'System.NullReferenceException' occurred in XML- Console.exe

Code for creating object...

gridRecord spr = new gridRecord();
spr.PrintRun.Value = 200;
spr.PrintRun.IsValid = true;
spr.PrintRun.Message = "No Errors";

Console.WriteLine(spr.PrintRun.Value.ToString());
Console.WriteLine(spr.PrintRun.IsValid.ToString());
Console.WriteLine(spr.PrintRun.Message.ToString());
Console.ReadKey();

the error happens at this line of code

spr.PrintRun.Value = 200;

原文:https://stackoverflow.com/questions/33119791
更新时间:2022-03-01 18:03

最满意答案

假设您在Linux上,如果您无法连接到数据库以阻止它,您可以通过以下方式找到进程ID来杀死pmonsmon进程以停止数据库:

ps -ef | grep pmon

那你有2个选择:

  1. NOMOUNT启动DB并增加DB_RECOVERY_FILE_DEST_SIZE参数SQL> ALTER DATABASE SET DB_RECOVERY_FILE_DEST_SIZE=300G
  2. MOUNT模式下启动DB并使用RMAN连接到DB并删除一些(或所有)归档日志RMAN> delete archivelog all ,在此OPEN DB SQL> alter database open;

Assume you are on Linux, if you can't connect to DB to stop it you could just KILL the pmon or smon process to stop DB by finding the process id with:

ps -ef | grep pmon

Then you have 2 options:

  1. Start DB in NOMOUNT and increase the DB_RECOVERY_FILE_DEST_SIZE parameter SQL> ALTER DATABASE SET DB_RECOVERY_FILE_DEST_SIZE=300G or
  2. Startup DB in MOUNT mode and connect to DB with RMAN and delete some (or all) archivelogs RMAN> delete archivelog all, after this OPEN DB SQL> alter database open;

相关问答

更多
  • 让S是舞台的区域。 设A是我们想绘制的最小矩形的面积。 设N = S / A 一种可能的确定性方法: 当您在空的舞台上画一个矩形时,这会将舞台划分为最多4个可以适合您的下一个矩形的区域。 绘制下一个矩形时,将一个或两个区域分割成最多4个可以适合矩形的子区域(每个)。您将不会创建超过N个区域,其中S是舞台区域,并且A是最小矩形的面积。 保留一个区域清单(未排序很好),每个区域由其四个角点表示,每个区域用其面积标记,并使用油藏大小为1的加权油藏采样来选择一个与油藏大小成正比的区域最多一个区域通过列表。 然后在该 ...
  • 当表没有聚簇索引时,DELETE-Statement不会释放页面。 因此空间不能被其他对象重用。 您可以使用选项取消分配页面: 在DELETE语句中使用TABLOCK-hint 如果可能的话,在表上创建一个聚簇索引,你可以在没有TABLOCK-hint的情况下删除它 在线查看MSDN,主题锁定行为https://msdn.microsoft.com/en-US/library/ms189835(v=sql.120).aspx When a table has no clustered index, a DE ...
  • vacuum不会在物理上“释放”空间。 它只标记不再使用的空间可重复使用。 因此,后续的UPDATE或INSERT语句可以使用该空格而不是附加到表中。 从手册中引用 标准形式的VACUUM删除表和索引中的死行版本,并标记可用于将来重用的空间 。 但是, 它不会将空间返回给操作系统 ,除非在表格末尾的一个或多个页面完全空闲并且可以轻松获得独占表锁定的特殊情况下 (强调我的) 如果重新插入250个已删除的行,您将看到该表不会再次增长,因为新插入的行只使用vacuum标记为空的空间。 如果您确实希望将表的大小物理 ...
  • “释放空间”是什么意思? 当你删除数据时,块中的空间被释放。 该空间现在可用于您从中删除数据的表中的后续插入(或更新)。 这通常是足够的,因为表格通常会在未来再次增长。 如果要减小表段的大小并使空间可用于同一表空间中的其他段,则可以缩小表 ALTER TABLE table_name ENABLE ROW MOVEMENT; ALTER TABLE table_name SHRINK SPACE CASCADE; 此时通常不需要重建索引。 What do you mean by "free up the ...
  • 来回切换恢复模式是一个坏主意。 将数据库置于不良状态很容易,并且很容易使数据库备份无效。 第一个选择是获得更多的存储空间,以便随着日志的增长,您不会耗尽空间。 有时候这样做会更简单,因此您的下一个选择是在ETL运行时以设定的时间间隔运行事务日志备份。 这将允许事务被提交,并让您保持日志文件不被填满。 这将增加磁盘I / O,因此性能可能会受到影响。 第三个选项(我更喜欢并且在这些情况下经常使用)是在恢复设置为SIMPLE的临时数据库中完成所有ETL处理。 ETL的最后一步是简单地使用清理过的数据更新生产数据 ...
  • 听起来很奇怪。 数据有或没有提交。 我怀疑你的一个同事是偷偷摸摸的。 Sounds very odd to me. Data either is or is not commited. I suspect skulduggery by one of your collegues.
  • 首先对数据库进行任何结构更改之前,请执行FULL Database Backup。 如果如您所说,大多数未分配的空间位于SQL Server数据文件(.mdf)中,那么您应该使用DBCC SHRINKFILE而不是DBCC SHRINKDATABASE。 例如: USE UserDB; GO DBCC SHRINKFILE (LogicalDataFileName, target_sizeInMB ); GO 另外,请考虑使用TRUNCATEONLY选项仅从数据文件末尾释放可用空间。 这是资源密集度较低的 ...
  • 6TB的使用可能是因为MemSQL,或者可能是因为Spark或其他一些进程。 MemSQL ops报告总磁盘使用情况,而不是MemSQL使用的磁盘(工具提示略有误导)。 1)Rowstore表(没有CLUSTERD COLUMNSTORE索引的表)在每次写入时将日志写入磁盘。 当日志变得很大时,日志会合并到快照中,默认情况下,我们会保留最后两个快照文件。 因此,两个快照中较旧的一个可能包含您删除的数据。 您可以使用SNAPSHOT 触发新快照,这将使GC清除旧(可能很大)的SNAPSHOT ...
  • 看起来你的SQL备份来自较旧版本的MediaWiki,并且缺少page.page_content_model列(可能还有其他)。 要修复它,您需要运行您的MediaWiki版本附带的数据库架构更新脚本 ( maintenance/update.php )。 您可以从命令行(推荐)或通过Web升级 (如果您没有命令行访问权限)执行此操作。 有关更多详细信息,请参阅上面的链接,但基本上,对于具有命令行访问权限的典型MediaWiki安装,您只需要ssh到您的Web主机, cd到MediaWiki根目录,然后运行 ...
  • 假设您在Linux上,如果您无法连接到数据库以阻止它,您可以通过以下方式找到进程ID来杀死pmon或smon进程以停止数据库: ps -ef | grep pmon 那你有2个选择: 以NOMOUNT启动DB并增加DB_RECOVERY_FILE_DEST_SIZE参数SQL> ALTER DATABASE SET DB_RECOVERY_FILE_DEST_SIZE=300G或 在MOUNT模式下启动DB并使用RMAN连接到DB并删除一些(或所有)归档日志RMAN> delete archivelog ...

相关文章

更多

最新问答

更多
  • 获取MVC 4使用的DisplayMode后缀(Get the DisplayMode Suffix being used by MVC 4)
  • 如何通过引用返回对象?(How is returning an object by reference possible?)
  • 矩阵如何存储在内存中?(How are matrices stored in memory?)
  • 每个请求的Java新会话?(Java New Session For Each Request?)
  • css:浮动div中重叠的标题h1(css: overlapping headlines h1 in floated divs)
  • 无论图像如何,Caffe预测同一类(Caffe predicts same class regardless of image)
  • xcode语法颜色编码解释?(xcode syntax color coding explained?)
  • 在Access 2010 Runtime中使用Office 2000校对工具(Use Office 2000 proofing tools in Access 2010 Runtime)
  • 从单独的Web主机将图像传输到服务器上(Getting images onto server from separate web host)
  • 从旧版本复制文件并保留它们(旧/新版本)(Copy a file from old revision and keep both of them (old / new revision))
  • 西安哪有PLC可控制编程的培训
  • 在Entity Framework中选择基类(Select base class in Entity Framework)
  • 在Android中出现错误“数据集和渲染器应该不为null,并且应该具有相同数量的系列”(Error “Dataset and renderer should be not null and should have the same number of series” in Android)
  • 电脑二级VF有什么用
  • Datamapper Ruby如何添加Hook方法(Datamapper Ruby How to add Hook Method)
  • 金华英语角.
  • 手机软件如何制作
  • 用于Android webview中图像保存的上下文菜单(Context Menu for Image Saving in an Android webview)
  • 注意:未定义的偏移量:PHP(Notice: Undefined offset: PHP)
  • 如何读R中的大数据集[复制](How to read large dataset in R [duplicate])
  • Unity 5 Heighmap与地形宽度/地形长度的分辨率关系?(Unity 5 Heighmap Resolution relationship to terrain width / terrain length?)
  • 如何通知PipedOutputStream线程写入最后一个字节的PipedInputStream线程?(How to notify PipedInputStream thread that PipedOutputStream thread has written last byte?)
  • python的访问器方法有哪些
  • DeviceNetworkInformation:哪个是哪个?(DeviceNetworkInformation: Which is which?)
  • 在Ruby中对组合进行排序(Sorting a combination in Ruby)
  • 网站开发的流程?
  • 使用Zend Framework 2中的JOIN sql检索数据(Retrieve data using JOIN sql in Zend Framework 2)
  • 条带格式类型格式模式编号无法正常工作(Stripes format type format pattern number not working properly)
  • 透明度错误IE11(Transparency bug IE11)
  • linux的基本操作命令。。。