标签: object-reference

对非共享成员的引用需要在调用public sub时发生对象引用

我有一个Public Class"General",其中是Public Sub"updateDynamics".当我尝试在代码隐藏中引用它时,如下所示:

updateDynamics(get_prospect.dynamicsID)
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

对非共享成员的引用需要对象引用

vb.net object-reference public-method

21
推荐指数
1
解决办法
10万
查看次数

如何确定对象引用是否为空?

确定对象引用变量的最佳方法是null什么?

是以下吗?

MyObject myObjVar = null;
if (myObjVar == null)
{
    // do stuff
}
Run Code Online (Sandbox Code Playgroud)

c# null visual-studio-2005 object object-reference

14
推荐指数
3
解决办法
5万
查看次数

如何在托管C++中检查"NULL对象引用"?

我遇到了一些像这样的MC++代码:

__gc class ClassA
{
Puclic:
     ClassB GetClassB();
}

__gc class ClassB
{
 Public:
    int Value;
}

int main()
{
    ClassA^ a = gcnew ClassA();
    ClassB^ b = a->GetClassB();

    int c = b->Value;
}
Run Code Online (Sandbox Code Playgroud)

在访问其值之前检查b是否为NULL不重要吗?我试过了if(b == NULL),但它不起作用.

或者它真的没有必要进行检查?但我简直不敢相信......

PS:我只想知道"参考"本身在这里是否为NULL.B类的内容是否为空并不重要.

managed-c++ c++-cli object-reference visual-c++

13
推荐指数
1
解决办法
2万
查看次数

C#对象引用如何在内存中/运行时(在CLR中)表示?

我很想知道C#对象引用如何在运行时(在.NET CLR中)在内存中表示.想到的一些问题是:

  1. 对象引用占用多少内存?在类的范围和方法的范围中定义时它是否不同?根据此范围(堆栈与堆),它所在的位置是否不同?

  2. 对象引用中维护的实际数据是什么?它只是一个指向它引用的对象的内存地址还是更多的内存地址?这是否根据是否在类或方法的范围内定义而有所不同?

  3. 与上面相同的问题,但这次是在谈论对引用的引用时,例如在通过引用将对象引用传递给方法时.1和2的答案如何变化?

c# memory clr object-reference

12
推荐指数
2
解决办法
4671
查看次数

List <Task> - 使用C#Entity Framework的UPSERT数据库记录

我有一个Employee对象,我正在尝试使用单个数据库实体上下文使用多任务(并行执行)更新记录(即更新/删除).但我得到以下例外

Message ="对象引用未设置为对象的实例."

考虑以下DTO

public class Employee
{
    public int EmployeeId { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public List<ContactPhone> ContactPhoneNumbers { get; set; }
    public List<ContactEmail> ContactEmailAddress { get; set; }
}

public class ContactPhone
{
    public int ContactId { get; set; }
    public string Type { get; set; }
    public string Number { get; set; }
}

public class ContactEmail
{
    public int ContactId { …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework task object-reference task-parallel-library

10
推荐指数
1
解决办法
1085
查看次数

在Java9中,不推荐使用终结器,而是引入了清理器.两者有什么区别?

在Java9中,终结器已经被弃用,并且已经引入了新的清洁器概念.它的具体原因是什么?是否有任何特定的场景或理由,清洁剂应优先于终结者(假设不推荐使用它们).

java finalize object-reference java-9

10
推荐指数
1
解决办法
1757
查看次数

临时终身延长

标准的12.2.5部分说:

在函数调用(5.2.2)中与引用参数的临时绑定将持续存在,直到包含该调用的完整表达式完成为止.函数返回语句(6.6.3)中返回值的临时绑定将一直存在,直到函数退出.在所有这些情况下,在初始化引用的表达式的求值期间创建的临时值,除了引用所绑定的临时值之外,在创建它们的完整表达式的末尾以及与它们相反的顺序被销毁.完成他们的建设.

我试着理解的代码是:

#include <iostream>

const int& foo(const int& fooRef)
{
    return fooRef;
}                                        // #0

int main (void)
{
    const int& numberRef = foo(5);     // #1
    std::cout << numberRef;            // #2
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

在线#1创建临时对象并绑定到fooRef参数foo.fooRef在线销毁#0.所以我认为临时应该在这里销毁,因为生命延长不是传递性的.

问题:

  1. 什么until the function exits意思?这是untill it finished executing什么意思?

  2. 为什么我得到一个5输出.临时对象是否仍然存在#2

  3. 如何解释标准引用以弄清楚此示例的工作原理?

将非常感谢参考标准的逐步原子演练.谢谢!

PS 这里接受的答案也告诉代码是broken,我没有得到,为什么我得到这样的程序输出.

c++ reference object-reference lifetime temporary-objects

9
推荐指数
1
解决办法
4605
查看次数

.NET XmlSerializer和对同一对象的多个引用

我的存储库有List<Student>,List<Course>并且List<Enrolment>注册有Enrolment.Student和Enrolment.Course,它们是前两个列表中的学生或课程之一.

当我在我的存储库中使用XmlSerializer时,它会输出冗余数据,因为它会对每个学生的所有属性进行序列化,List<Student>然后再对每个对这些学生的参考进行序列化List<Enrolment>.我正在寻找一种优雅的方法来解决这个问题.

反序列化后,我可以使用反序列化创建的重复对象实例中的ID值来修复引用,但这似乎是hackish.

修复冗余输出的一种方法是XmlIgnore Enrolment.Student和Enrolment.Course,并为序列化创建另外两个属性 - Enrolment.StudentID和Enrolment.CourseID.但是,在反序列化期间,由于反序列化的结果List<Student>List<Course>不可用,因此无法设置Enrolment.Student和Enrolment.Course的引用(AFAIK).

我想到的另一种方法是在我的对象层次结构中向下排序,分别执行每个列表并控制反序列化的顺序 - 我宁愿不这样做.

另一种方法是XmlIgnore List<Enrolment>并创建一个注册序列化助手类,List<Enrolment>在其自身的反序列化完成后进行初始化.这似乎付出了很多努力.

其他人如何使用XmlSerializer序列化/反序列化对同一对象的多个引用?

.net xml xml-serialization object-reference

8
推荐指数
1
解决办法
3986
查看次数

我可以禁用AutoMapper参考缓存吗?

我相信AutoMapper在将对象列表从一种类型映射到另一种类型时使用缓存.看看下面的代码:

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            Mapper.CreateMap<Source, Destination>()
                       .ForMember(dest => dest.SomeOtherNumber, opt => opt.Ignore());

            Mapper.AssertConfigurationIsValid();

            var sourceList = new List<Source>();

            var s1 = new Source {SomeNumber = 10};
            var s2 = new Source {SomeNumber = 69};

            sourceList.Add(s1);
            sourceList.Add(s1);
            sourceList.Add(s1);
            sourceList.Add(s2);

            var destList = Mapper.Map<List<Source>, List<Destination>>(sourceList);

            destList[0].SomeOtherNumber = 100;

            destList.ForEach(x => Console.WriteLine("SomeNumber: {0}, SomeOtherNumber: {1}", x.SomeNumber, x.SomeOtherNumber));
            Console.ReadLine();
        }
    }


    public class Source
    {
        public int SomeNumber { get; set; }
    }

    public class Destination …
Run Code Online (Sandbox Code Playgroud)

.net c# object-reference automapper

8
推荐指数
1
解决办法
1796
查看次数

带对象引用的C#garbage collection

在C#中,当我有两个对象obj1时,由a组成的obj2List<string>和我将这两个对象分配给同一个List<string>对象.

如果我对obj1的引用超出范围但我对obj2的引用没有,obj1是否仍然有资格进行垃圾回收,或者是否存在一些依赖性问题,因为仍然存在对该List<string>对象的引用?

.net c# garbage-collection object-reference

5
推荐指数
0
解决办法
4385
查看次数