Com wrapper c#
Код:
using System;
using System.Text;
using System.Runtime.InteropServices;
using System.Runtime.CompilerServices;
using Microsoft.SharePoint.Client;
namespace SharePointService
{
public class SharePoint
{
ClientContext clientContext;
public ClientContext getclientContext(string url)
{
ClientContext clientContext = new ClientContext(url);
return clientContext;
}
public void initialize (string url)
{
clientContext = new ClientContext(url);
}
public List getlist(string namelist)
{
List list = clientContext.Web.Lists.GetByTitle(namelist);
clientContext.Load(list);
clientContext.ExecuteQuery();
return list;
}
public FieldCollection getfields(List list)
{
clientContext.Load(list.Fields);
clientContext.ExecuteQuery();
return list.Fields;
}
}
}
using System.Text;
using System.Runtime.InteropServices;
using System.Runtime.CompilerServices;
using Microsoft.SharePoint.Client;
namespace SharePointService
{
public class SharePoint
{
ClientContext clientContext;
public ClientContext getclientContext(string url)
{
ClientContext clientContext = new ClientContext(url);
return clientContext;
}
public void initialize (string url)
{
clientContext = new ClientContext(url);
}
public List getlist(string namelist)
{
List list = clientContext.Web.Lists.GetByTitle(namelist);
clientContext.Load(list);
clientContext.ExecuteQuery();
return list;
}
public FieldCollection getfields(List list)
{
clientContext.Load(list.Fields);
clientContext.ExecuteQuery();
return list.Fields;
}
}
}
Создаю клиент.
Подключаю эту созданную длл. Пишу
Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using SharePointService;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
SharePoint sharepoint = new SharePoint();
sharepoint.initialize("http://portal/sites/devel/");
???? list = sharepoint.getlist("Заявки пользователей");
}
}
}
using System.Collections.Generic;
using System.Linq;
using System.Text;
using SharePointService;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
SharePoint sharepoint = new SharePoint();
sharepoint.initialize("http://portal/sites/devel/");
???? list = sharepoint.getlist("Заявки пользователей");
}
}
}
- Приведите пожалуйста код в нормальный вид с использованием форматирования. В противном случае тема буде удалена. от kot_, 19 октября 2012 года
используй var, пусть компилятор за тебя сам все решает
в таком случае компилятор просит подключить сборку с типом Microsoft.SharePoint.Client.List
А вообще что мешает взять готовую обертку? Ты не первый задался этим вопросом.
Сейчас у меня другая проблема образовалась - при выполнении метода из 1С
public ClientContext getclientContext(string url)
{
ClientContext clientContext = new ClientContext(url);
return clientContext;
}
тип возвращаемого движения - COMОбъект. Все свойства доступны, а методы нет.
Подскажите, каким образом я могу обернуть этот тип?
Может можно реализовать через какой нибудь интерфейс?
Можно создать собственную обертку, которая будет предоставлять нужные методы наружу (либо уже более высокоуровневый метод с некоторым готовым алгоритмом)
На счет первого варианта все понятно. А второй вариант не понял...
Имеется в виду что можно в самой библиотеке организовать абстракцию более высокого уровня. Допустим COM дает три функции: Load, Add и Save. Вы выполняете эти действия вместе - поэтому реализуете в библиотеке одну доступную наружу функцию UpdateDocument() и все.