2种不同的代码在单一方法中,可能使用Type - c#

我有一些这样的代码,

using (SPLimitedWebPartManager wpMngr = newWeb.GetLimitedWebPartManager(newWeb.Url + "/default.aspx", System.Web.UI.WebControls.WebParts.PersonalizationScope.Shared))
{
      var wp = new WebPart1();
      wp.ChromeType = PartChromeType.None;
      wpMngr.AddWebPart(wp, "left", 0);
}

和,

using (SPLimitedWebPartManager wpMngr = newWeb.GetLimitedWebPartManager(newWeb.Url + "/default.aspx", System.Web.UI.WebControls.WebParts.PersonalizationScope.Shared))
{
      var wp = new WebPart2();
      wp.ChromeType = PartChromeType.None;
      wpMngr.AddWebPart(wp, "left", 0);
}

依此类推...我有10条这样的代码行,如何从中提取方法?

AddWebPart(SPWeb newWeb, string zone, Type what ?)
{
     not sure how to handle passing object WebPart1() and WebPart2 and so on...
}

AddWebPart(web, "left", WebPart1);
AddWebPart(web, "left", WebPart2);

编辑

所有对象WebPartn的类型均为System.Web.UI.WebControls.WebParts.WebPart

参考方案

如果所有WebPart都将WebPart作为公共基类共享,则可以这样做;否则,您可以这样做。

AddWebPart(SPWeb newWeb, string zone, WebPart webPart)
{
     webPart.ChromeType = PartChromeType.None;
     wpMngr.AddWebPart(webPart, "left", 0);
}

AddWebPart(web, "left", new WebPart1());
AddWebPart(web, "left", new WebPart2());

注意:仅当再次调用基类WebPart中的方法时,这才适用。

当回复有时是一个对象有时是一个数组时,如何在使用改造时解析JSON回复? - java

我正在使用Retrofit来获取JSON答复。这是我实施的一部分-@GET("/api/report/list") Observable<Bills> listBill(@Query("employee_id") String employeeID); 而条例草案类是-public static class…

改造正在返回一个空的响应主体 - java

我正在尝试使用Retrofit和Gson解析一些JSON。但是,我得到的响应机构是空的。当我尝试从对象中打印信息时,出现NullPointerException。我确保URL正确,并且我也确保POJO也正确。我正在使用jsonschema2pojo来帮助创建POJO类。这是我要解析的JSON{ "?xml": { "@versi…

每个文件合并后添加换行 - python

我有很多类似以下内容的JSON文件:例如。1.json{"name": "one", "description": "testDescription...", "comment": ""} test.json{"name"…

Json到php,json_decode返回NULL - php

我正在用PHP进行JSON解析器的一些API,用于存储有关遗产的信息。我在解析时遇到问题,因为它返回的是NULL值而不是数组或对象。简单的JSON代码可以很好地解析,但是可以这样:{"success":true,"totalCount":1,"data":[{"id":99694…

这个json格式正确吗? - c#

我尝试解析时有json数据,返回错误的语法错误,请帮助我发现语法错误。[{"isData":"Yes","Details":"[{"Id":"70","Name":"Test","FileName&#…