Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# DBObject:擦除和恢复对象_C#_Visual Studio 2012_Objectarx - Fatal编程技术网

C# DBObject:擦除和恢复对象

C# DBObject:擦除和恢复对象,c#,visual-studio-2012,objectarx,C#,Visual Studio 2012,Objectarx,我不熟悉ObjectARX,目前我尝试使用Visual Studio 2012用C语言编写代码。前几天我遇到了这种方法(不是一个bug或一个实际的编码问题,但它让我想知道): 我想知道这两种方法的区别是什么?何时使用/不使用特定的? 我做了一些研究,发现后一种方法实际上并没有擦除对象,而只是将其标记为“已删除”,以便在保存图形时,如果我设置bool erasing=true,它不会出现或归档。另一方面,如果我设置bool erasing=false,则可以恢复对象(它仍然存在于内存中)。不过,我

我不熟悉ObjectARX,目前我尝试使用Visual Studio 2012用C语言编写代码。前几天我遇到了这种方法(不是一个bug或一个实际的编码问题,但它让我想知道):

  • 我想知道这两种方法的区别是什么?何时使用/不使用特定的? 我做了一些研究,发现后一种方法实际上并没有擦除对象,而只是将其标记为“已删除”,以便在保存图形时,如果我设置
    bool erasing=true
    ,它不会出现或归档。另一方面,如果我设置
    bool erasing=false
    ,则可以恢复对象(它仍然存在于内存中)。不过,我还是不太明白第一种方法

  • 我的研究引出了另一个问题:如何使用第二种方法恢复被擦除的对象?我遇到的另一个方法如下所示

    \u recover(参数1、参数2、参数3、参数4)

  • 但我似乎再也找不到了。这种方法是什么?如何使用

    任何解释、想法或参考都将不胜感激

  • 这个问题的答案是方法本身。一旦“擦除”设置为true,对象将被标记为“已擦除”,但只有在保存图形时,对象才会被实际擦除。否则,它将保留在数据库中,但不接受来自用户的命令或交互。只要图形没有保存,我们就可以再次调用该方法

    对象。擦除(false)

  • 将对象设置为“未擦除”。这来自对象ARX docs,文件名为arxref.chm。autocad.NET的文档除了简短的描述外,没有提供关于此方面的详细信息:

    “设置擦除标志开/关”

  • 很抱歉造成混淆,我前面看到的方法实际上是对象ARX/autocad.NET中擦除事件的反应器/事件处理程序

  • 对不起,这个问题太麻烦了。它没有出现的方式,我想和看之前张贴。我是新来的,但我会尽快让事情变得更容易阅读。
    DBObject::Erase();
    
    DBObject::Erase(bool erasing);