c#遍历对象成员

时间:2014-09-25 23:11:21

标签: c# sharepoint

这里的上下文是我想要查看共享点列表中的对象具有的权限。 但问题与C#

有关

Sharepoint有一个名为SPListItem的对象,您可以通过迭代它的索引来查看有关该对象的各种详细信息。

我可以使用整数(SPListItem)遍历splistitem[i]的索引。但是,问题是我不知道我的程序打印出来的属性/细节。

如何打印索引名称和索引值?

这是我的代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections;
using System;
using Microsoft.SharePoint;

namespace Test
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("-----");
            using (SPSite site = new SPSite("http://c4968397007/sites/anupamsworkspace/"))
            {
                using (SPWeb web = site.OpenWeb())
                {
                    SPList oSPList = web.Lists["Check2"];
                    SPListItem oSPListItem = oSPList.Items[0];

                    for (int i = 0; i < 100;i++ )
                        //printing out the index value using int index, how do I print the name of the value it's printing out ? 
                        Console.WriteLine(oSPListItem[i]);
                }
            }
            Console.ReadLine();
        }
    }
}

2 个答案:

答案 0 :(得分:0)

您可以使用以下方法

 using (SPWeb web = site.OpenWeb())
            {
               SPList list = web.GetList("Check2");
               if (list.ItemCount > 0)
               {
                  SPListItem item = list.Items[0];
                  Hashtable ht = item.Properties;
                  foreach (DictionaryEntry de in ht)
                     Console.WriteLine("Key: {0}  Value: {1}", de.Key, de.Value);
               }
            }
}

答案 1 :(得分:0)

这应该可以解决问题:

using (SPSite site = new SPSite("http://c4968397007/sites/anupamsworkspace/"))
{
    using (SPWeb web = site.OpenWeb())
    {
        var list = web.Lists["Check2"];
        var item = list.Items[0];
        foreach (var field in list.Fields)
        {
            Console.WriteLine("Key: {0} Value: {1}", field.StaticName, item[field.StaticName])
        }
    }
}

此致 马丁