Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/333.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# 如何在反射中的二维字符串数组上使用activate.createinstance_C#_Reflection_Createinstance - Fatal编程技术网

C# 如何在反射中的二维字符串数组上使用activate.createinstance

C# 如何在反射中的二维字符串数组上使用activate.createinstance,c#,reflection,createinstance,C#,Reflection,Createinstance,嗨,苏的好人们 我在这里面临着一个小小的挑战,我不太明白。因此,我使用以下方法创建了一个2d数组: var portTypes = assembly.GetExportedTypes(); string[,] commonIPPort= new string [2,2]; foreach (var v in portTypes ) { if (v.FullName == "iControl.CommonIPPortDefinition")

嗨,苏的好人们

我在这里面临着一个小小的挑战,我不太明白。因此,我使用以下方法创建了一个2d数组:

var portTypes = assembly.GetExportedTypes();
string[,] commonIPPort= new string [2,2];
foreach (var v in portTypes )
        {
            if (v.FullName == "iControl.CommonIPPortDefinition")
            {
                commonIPPort= new string[,] { { v.Name, v.FullName }};
            }
        }
dynamic ports= Array.CreateInstance(typeof(object),commonIPPort.Length); 
这就是我得到空错误的地方: 目标项目

for (int i = 0; i < commonIPPort.Length; i++)
        {
            item = Activator.CreateInstance(Type.GetType(commonIPPort[i,i+1]));

        }
for(int i=0;i
所以我的问题是如何在2d字符串上使用createinstance


提前谢谢。

因为我从0索引开始,它不会让它出现,因为它是空的,我想索引是从1开始的,请注意您在
if
中所做的操作。当
条件是否为
真时,您是否正在创建实例?(可以使用断点进行检查)。如果没有-那么你有
[2,2]
数组,数组中填充了
null
(你有错误),如果是-你将得到
索引自动失效异常
(因为
i+1
)。如果它找到'iControl.CommonIPPortDefinition',我基本上是在创建实例,因为那里有1300个对象。我正在尝试为“ports”(ports=Array.CreateInstance(typeof(object),commonIPPort.Length);)创建该实例,因为下一行是ports.address和ports.portnumberStart,并显示准确的错误消息和堆栈跟踪。更有可能的情况是,您在中设置了
ArgumentNullException
,然后在其上设置一个断点并检查
i
commonIPPort[i,i+1]
值。我打赌你会在那里找到一个
null
,而不是字符串。为什么?我试图在前面解释:
v.FullName
从来都不是
iControl。不管是什么
,您的空数组中都填充了
null
。但是,即使
如果
条件为真,您仍然会得到
索引自动失效异常
。是的,您是对的,它是空值。我得重做一次!谢谢@Sinatr