Вы можете создать поле в своем списке, скажем PublishDateTime, и всякий раз, когда вы добавляете элемент в список, задайте для него будущее значение PublishDateTime. Затем вы можете использовать задание таймера SharePoint, чтобы продолжать просматривать список в фиксированное время и изменять состояние элемента, скажем, Скрытое на Опубликованное на основе PublishDateTime. Класс Microsoft.SharePoint.Administration.SPJobDefinition
используется для этого. Переопределите метод execute этого класса и напишите в нем свой код.
public class PublishingJob : SPJobDefinition
{
//implement the required constructors.
//then override Execute method
public override void Execute (Guid Id)
{
//get current list from web
foreach(SPListItem item in SPList.Items)
{
if(item.PublishDateTime <DateTime.Now)
{
item["Published"] = 1;
}
}
}
}
См. Подробный пример в блог Эндрю Коннелса