C# 方法创建了一个列表,但不是列表类型?

C# 方法创建了一个列表,但不是列表类型?,c#,sharepoint-2010,type-hinting,splist,C#,Sharepoint 2010,Type Hinting,Splist,来自PHP,我不习惯分配或返回特定类型,因为PHP真的不在乎。但是回到Java和C语言的世界,这些语言确实关心,当你说把这个类型传给我时,它期望的是那个类型。那么,我做错了什么?我如何才能将其创建为类型SPList 我有一个非常基本的功能,例如: protected void createNewList(SPFeatureReceiverProperties properties) { Dictionary<string, List<AddParams

来自PHP,我不习惯分配或返回特定类型,因为PHP真的不在乎。但是回到Java和C语言的世界,这些语言确实关心,当你说把这个类型传给我时,它期望的是那个类型。那么,我做错了什么?我如何才能将其创建为类型SPList

我有一个非常基本的功能,例如:

    protected void createNewList(SPFeatureReceiverProperties properties)
    {
        Dictionary<string, List<AddParams>> param = new Dictionary<string, List<AddParams>>();

        // Create the keys
        param.Add("Name", new List<AddParams>());
        param.Add("Type", new List<AddParams>());
        param.Add("Description", new List<AddParams>());

        // Set the values
        param["Name"].Add(new AddParams { type = SPFieldType.Text, required = true });
        param["Type"].Add(new AddParams { type = SPFieldType.Text, required = true });
        param["Description"].Add(new AddParams { type = SPFieldType.Text, required = true });

        // Create the really simple List.
        new SPAPI.Lists.Create(properties, param, "Fake List", "Sample Description", SPListTemplateType.GenericList, "Sample View Description");
    }
我们可以在这里看到,我们所做的只是创建一个SPList对象以在Sharepoint中使用。部署后,我们有一个新列表,可以添加到页面中。那有什么问题

在Php中,我可以将
createNewList(spFeatureReceiveProperties)
传递给请求SPList类型的对象的函数,它可以工作(除非我遗漏了>>),就像这样,不,这不是SPList

所以我的问题是:

为了创建列表和返回SPLIst对象,我必须更改什么?是否像
返回新的SPAPI.Lists.create(属性、参数、“假列表”、“示例说明”、SPListTemplateType.GenericList、“示例视图说明”)一样简单

因为我觉得这是对的

更新


将方法签名转到SPList并返回
返回新的..
无效。

您需要从两个方法返回SPList:

protected SPList createNewList(SPFeatureReceiverProperties properties)
{
    //Do the stuff

    SPList result = new SPAPI.Lists.Create(properties, param, "Fake List", "Sample Description", SPListTemplateType.GenericList, "Sample View Description");
    return result;
}

public SPList Create(SPFeatureReceiverProperties properties, Dictionary<string, List<AddParams>> columns, 
    string name, string description, SPListTemplateType type, string viewDescription)
{
    // Do the stuff

    return spList;
}
受保护的SPList createNewList(SPFeatureReceiverProperties)
{
//动手
SPList result=new SPAPI.Lists.Create(属性、参数、“假列表”、“示例描述”、SPListTemplateType.GenericList、“示例视图描述”);
返回结果;
}
公共SPList创建(SPFeatureReceiverProperties属性、字典列、,
字符串名称、字符串描述、SPListTemplateType类型、字符串视图描述)
{
//动手
返回spList;
}
您似乎正在调用名为
Create
的类的构造函数。这似乎不是个好主意。现在还不清楚你到底想做什么。。。
protected SPList createNewList(SPFeatureReceiverProperties properties)
{
    //Do the stuff

    SPList result = new SPAPI.Lists.Create(properties, param, "Fake List", "Sample Description", SPListTemplateType.GenericList, "Sample View Description");
    return result;
}

public SPList Create(SPFeatureReceiverProperties properties, Dictionary<string, List<AddParams>> columns, 
    string name, string description, SPListTemplateType type, string viewDescription)
{
    // Do the stuff

    return spList;
}