Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/308.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# 对象作为类型返回Null-但对象的类型为_C#_Visual Studio 2012_Types_Null - Fatal编程技术网

C# 对象作为类型返回Null-但对象的类型为

C# 对象作为类型返回Null-但对象的类型为,c#,visual-studio-2012,types,null,C#,Visual Studio 2012,Types,Null,我的程序不断抛出一个错误,因为它正在到达一条不应该到达的线。我使用的是Visual Studio Professional 2012,当我运行我的程序时,它当然会停止代码并让我通过将光标悬停在变量上以获取它们的所有信息来调试代码。在我的代码中,我在代码的前面定义了一个变量curObj,以及一个字符串part。curObj的值是CustomObject类型。但是,无论如何,以下if语句返回false: object curObj = null; foreach (Dictionary<st

我的程序不断抛出一个错误,因为它正在到达一条不应该到达的线。我使用的是Visual Studio Professional 2012,当我运行我的程序时,它当然会停止代码并让我通过将光标悬停在变量上以获取它们的所有信息来调试代码。在我的代码中,我在代码的前面定义了一个变量curObj,以及一个字符串part。curObj的值是CustomObject类型。但是,无论如何,以下if语句返回false:

object curObj = null;

foreach (Dictionary<string, CustomVariable> variables in vars)
{
    if (!variables.ContainsKey(part)) continue;
    curObj = GetValueOfVariable(variables[part]);
    break;
}

CustomObject cusObj = curObj as CustomObject;
if (cusObj != null)
    curObj = GetValueOfVariable(((CustomObject) curObj).GetVariable(part));
else
    curObj = curObj.GetType().GetField(part).GetValue(curObj);

出于某种原因,尽管curObj实际上是一个CustomObject,正如visualstudio在遇到此错误时提供给我的详细信息所证明的那样,但cusObj在到达这一点时仍然为null。我做错了什么?

curObj实际上是某种代理吗?我对NHibernate和它的延迟加载代理有这个问题。你能显示一下定义curObj的行吗?我想我能,是的。可能变量。ContainsKeypart对你所有的代理返回falsevariables@bballer13snTV,自定义对象在哪里定义?在同一个集合中?