【问题标题】:Extract a string array from an object in c#从C#中的对象中提取字符串数组
【发布时间】:2013-04-23 17:56:04
【问题描述】:

我学习编程已经有一段时间了,我一直在为此苦苦挣扎。

我从 Web 服务收到一堆信息,我将它们保存在一个对象上,然后在使用反射方法后我得到了数组,所以我仍然坚持在对象中包含数组。

我只是不记得如何将对象内部的数组转换为字符串数组,有人可以帮帮我吗?

object information = new object();
string propName="members";
information=sinos1.Info(Convert.ToInt32(edo),Convert.ToInt32(anio),Convert.ToInt64(familia));
Object value = GetPropValue( information, propName);

information是从web服务接收信息的对象,value是反射后接收信息的对象,代码是:

public static object GetPropValue(object src, string propName)
{
     return src.GetType().GetProperty(propName).GetValue(src, null);
}

【问题讨论】:

    标签: c# arrays string object extract


    【解决方案1】:

    您可以尝试探测对象的接口。

    object value = GetPropValue(information, propName);
    
    if(value is IEnumerable)
    {
        var array = value as IEnumerable;
        foreach(object obj in array)
        {
    
        }
    }
    

    您还可以在obj 上使用Type.GetTypeCode 来处理值类型。

    【讨论】:

    • 我不知道这是否有助于帮助阅读有关值的内容,在调试时,这是值类型从对象更改为:对象 {ScanIt.sinos2.Sinos_Integrante[]} 发生这种情况经过反思
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-26
    相关资源
    最近更新 更多