Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.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# 访问尚未定义为数组的my objects数组_C#_.net_Wpf_Arrays_Amfphp - Fatal编程技术网

C# 访问尚未定义为数组的my objects数组

C# 访问尚未定义为数组的my objects数组,c#,.net,wpf,arrays,amfphp,C#,.net,Wpf,Arrays,Amfphp,我想在.NET中使用一些amfphp函数并访问一些对象。经过一番搜索,我找到了一个开源网关,可以实现这个目的。 好的,我现在在这里,我真的需要一些帮助。在完成连接和正确呼叫后 public void Connect() { // Create NetConnection client _netConnection = new NetConnection(); _netConnection.ObjectE

我想在.NET中使用一些amfphp函数并访问一些对象。经过一番搜索,我找到了一个开源网关,可以实现这个目的。

好的,我现在在这里,我真的需要一些帮助。在完成连接和正确呼叫后

  public void Connect()
        {
            // Create NetConnection client
            _netConnection = new NetConnection();
            _netConnection.ObjectEncoding = ObjectEncoding.AMF0;
            _netConnection.NetStatus += new NetStatusHandler(_netConnection_NetStatus);
            _netConnection.Connect("http://www.mytestserver.nl/services/gateway");

            System.Console.WriteLine("*** Flash RPC ***");
            _netConnection.Call("amfphp.mytestserver.getObjects", new GetCustomersHandler(), new object[] { "415" });

            System.Console.WriteLine("Press 'Enter' to exit");
        }
在我的处理器里

  public class GetCustomersHandler : IPendingServiceCallback
    {
        public void ResultReceived(IPendingServiceCall call)
        {
            object result = call.Result;
            System.Console.WriteLine("Server response: " + result);

            //DataAccess sample sends back an ArrayCollection (AMF3)
            ArrayCollection items = result as ArrayCollection;


            foreach (object item in items)
            {
                Flex.CustomerVO customer = item as Flex.CustomerVO;
                System.Console.WriteLine(customer.firstname + " " + customer.lastname);
            }
        }
    }
这是在samples文件夹中给定的项目中执行的方式。 我无法遍历这些项,所以我想让我看看如何访问results对象。 这就是(至少对我来说)变得有点棘手的原因。 在我的列表中,我可以将结果视为type object,我可以访问结果数组(?object),但是由于它不是数组,我如何在代码中迭代我的结果对象呢。为了澄清,我添加了一些截图

如图所示,结果包含46项

再澄清一下 (例如,我希望访问密钥、值等)。 有人有解决方案或方法吗。这并不觉得困难(也许是),但我似乎错过了一些东西。
有些人能帮上忙吗?

它确实是一个数组。它是一个对象数组(对象[])。您可以像示例中所示那样访问它。唯一的问题是,您必须知道它是什么类型的对象,并将其转换为该类型

Flex.CustomerVO customer = item as Flex.CustomerVO;

是他们投射对象的位置。

如果要在对象上迭代,需要将结果投射到对象数组中:

object[] objects = (objects)result;
然后,您可以通过再次强制转换来访问各个项目:

foreach (object obj in objects)
{
    FluorineFx.ASObject asObject = (FluorineFx.ASObject)obj;
    System.Console.WriteLine(asObject.Key);
}