Question: Ques. I have this method wit return type as 'List Item Collection'and my list in SharePoint contains more than 5000 items. In order to overcome the threshold, I need to fetch items in batches by putting row limit but I do not know what to put in the place of ?? so that the return type is also 'ListItemCollection'(SharePoint Client Context). Please help

```
private static ListItemCollection GetItemsFromSharePointSiteList(string strListName, string strCamlQuery, ClientContext clientContext)
{
    try
    {               
        ListItemCollectionPosition itemPosition = null;

        List listIPPMilestonesLE = clientContext.Web.Lists.GetByTitle(strListName);
        CamlQuery query = new CamlQuery();
        query.ViewXml = strCamlQuery;
        query.DatesInUtc = false;

        //  ListItemCollection itemColl = new ListItemCollection();

        do
        {
            Microsoft.SharePoint.Client.ListItemCollection listItemCollection = listIPPMilestonesLE.GetItems(query);
            clientContext.Load(listItemCollection);
            clientContext.ExecuteQuery();

            foreach (ListItem oListItem in listItemCollection)
            {
                 ??
            }

            itemPosition = listItemCollection.ListItemCollectionPosition;

        } while (itemPosition != null);

        return null;
    }
    catch (Exception exc)
    {
        ErrorLog.Error(exc);
    }

    return null;
}

```

Answer: 
I can't test the code without communication.dll, so please check if the following code is working for you:

```
import clr
import sys
sys.path.append("D:\\dll") # path to dll
clr.AddReference("communication") # add reference to communication.dll
from  communication import test

ref_string_p1 = "----------"
out_string_p2 = test(ref_string_p1)
print(out_string_p2)

```
you can feed ref as a regular argument, and feed out arbitrarily. pythonnet will return them positionally as tuple.

assume `void test(ref string p1,out string p2)` in c#,
you get `p1, p2 = test(p1, None)` in python