2013-06-14 2 views
1

Я создаю задание таймера в sharepoint и делаю его довольно далеко. Я столкнулся с проблемой наличия «этого» объекта в статическом методе. Вот мой код. Если у кого-то есть предложения, это было бы здорово.Любая другая опция, кроме использования этого объекта

public static SPListItemCollection GetRecordwithMissingData (string DocType, string DocName) 
    { 
    //Access associate ID and Doc Name 

     //SPWeb web = properties.Feature.Parent as SPWeb; 


     SPWebApplication webapp = this.Parent as SPWebApplication; 
     SPSite hrdocsSite = webapp.Sites["sites/HRDOCS/HRDocuments"]; 
     SPWeb rootweb = hrdocsSite.RootWeb; 
     SPList AssociateDocumentsList = rootweb.Lists["Associate Documents"]; 
     SPListItemCollection AssociateDocuments = AssociateDocumentsList.GetItems("ID", "PrimaryName", "DocName", "Document Type"); 
     // stores Associate Documents^
+0

В чем проблема: это ошибка компиляции или ошибка времени выполнения? –

+0

Это должна быть ошибка компиляции, потому что в статических функциях нет 'this'. –

+0

Возможно, метод действительно не должен быть статическим? – Servy

ответ

0

У вас не может быть «этого» в статическом методе. Нет экземпляра того, что такое «это», потому что оно относится к текущему экземпляру. Один из способов устранить проблему - передать дополнительный параметр, чтобы передать экземпляр объекта, к которому вы пытаетесь получить доступ к свойству. Другой вариант - иметь статический экземпляр любого типа «this» в классе, чтобы метод мог получить к нему доступ.

Смежные вопросы