На вашем 2D-массиве:
Array.CreateInstance(typeof(String), 2, 2);
Возвращает string[,]
приведение к Array
. Это идентично (Array)(new string[2,2])
. Так что вы можете привести его к string[,]
, если хотите.
Но почему вы хотите использовать это в любом случае? Разве вы не можете просто использовать string[,]
вместо этого? Разве вы не знаете, что тип элемента string
во время компиляции? Возможно, сделайте в общем параметре.
По вашей чрезмерной проблеме:
Однако stringArray = MyClassInstance.Work (..., ... ...); не заполнен возвращаемым массивом этой функции.
Мы не сможем помочь вам с этой частью проблемы, если вы не разместите код там, где это происходит. Кажется, что MyClassInstance.Work не возвращает созданный вами экземпляр массива. Но если вы не покажете код с ошибкой, я не могу сказать вам, где он находится.