저는 SharePoint 응용 프로그램을 만들고 있으며 일관성 및 규칙을 유지하기 위해 데이터 액세스에 필요한 API를 만드는 데 새로운 것을 시도하고 있습니다.SharePoint에서이 개체 캐스팅 패턴을 사용할 수 있습니까?
내가 전에이 보지 못했지만, 그 날은 내가 유일한 매개 변수로 SPListItem
을에 class Post
의 생성자를 오버로드했습니다 :)
나쁠 수 있다고 생각합니다. 그런 다음 메서드 서명에 SPListItemCollection을 사용하는 Post
의 포함 된 일반 목록이 있습니다.
더 효율적인 for
문에서 항목을 반복합니다. 즉, Post
개체를 캐스팅하는 방법을 추가하거나 수정해야하는 경우 단일 소스의 클래스 정의에서 수행 할 수 있습니다.
static public List<Post> GetPostsByCommunity(string communityName)
{
var targetList = CoreLists.SystemAccount.Posts(); //CAML emitted for brevity
return Post.Posts(targetList.GetItems(query)); //Call the constructor
}
이 나쁜 생각인가 :
class Post
{
public int ID { get; set; }
public string Title { get; set; }
public Post(SPListItem item)
{
ID = item.ID;
Title = (string)item["Title"];
}
public static List<Post> Posts(SPListItemCollection _items)
{
var returnlist = new List<Post>();
for (int i = 0; i < _items.Count; i++) {returnlist.Add(new Post(_items[i]));}
return returnlist;
}
}
이 다음을 수행 할 날 수 있습니다?
응답 해 주셔서 감사합니다. 그래도 질문. 위의 호출에서 Posts()에 전달되는 SPListItemCollection은 SpQuery 이후에 발생합니다. 반복되는 SPListItemCollection에 전체 목록이 포함되어 있지 않음을 확인할 수 있습니다. 나는 뭔가를 놓쳤는가, 아니면 잘못 언급 했는가? – Wesley
내 코드를 보면 // 간결함을 위해 방출 된 CAML이 표시되어 있습니다. 내 코드에서 선명도가 부족하여 모든 목록 항목을 호출하는 것처럼 보였고 그 맥락에서 메모를 이해합니다. – Wesley