У меня вопрос, и я не знаю, как это сделать. На самом деле, я не уверен, правильно ли это название.Как инкапсулировать метод с ограничениями общего типа
Я хочу инкапсулировать метод, который имеет общие параметры. Идея состоит в том, чтобы добавить некоторые вызовы регистрации и т. Д. Вокруг вызова метода.
Поэтому эта функция
public void Load<T>(T spObject, params Expression<Func<T, object>>[] retrievals)
{
try
{
... .Load(spObject, retrievals);}...
}
}
должен инкапсулировать функцию, которая выглядит следующим образом.
public void Load<T>(T spObject, params Expression<Func<T, object>>[] retrievals)
where T : ClientObject
Where T : ClientObject
должен быть удален, потому что нужно будет ссылаться на дополнительную dll
в другом проекте.
Когда я пытаюсь удалить, где я получаю сообщение об ошибке говорящего
типа «T» не может быть использован в качестве параметра типа «Т» в универсальном типе или методе «Microsoft.SharePoint.Client.ClientRuntimeContext .load (T, PARAMS ...
Надежда некоторых есть идея, как я могу справиться с этим.
Спасибо :-) Greetz
потому, что метод Load содержит ограничение, https://msdn.microsoft.com/en-us/library/office/ee536388.aspx, если вы удалите его из вашего метода загрузки, это может быть, что пользователь вашего метода переходят в метод ClientRuntimeContext.Load объект, который не является ClientObject –
Есть ли другой способ обеспечить, чтобы объект был из ClientObject? на стороне вызова метода? –
что относительно reflaction? –