W SharePoint kodu po stronie serwera, można napisać coś takiego:Jak wyodrębnić typ z pola?
field.fieldvalueType
Które czasami daje typ (DateTime, lub cokolwiek). Irytujące, czasami po prostu zwraca Null (na przykład pole ID).
W CSOM nie masz tego pola. Istnieje jednak TypeAsString
co daje rodzajów SharePoint, takich jak:
- obliczane
- Integer
- Uwaga
Co chciałbym zrobić, to chwycić tej huge table from MSDN:
i wyodrębnić "Int32", gdy wiem, że mam do czynienia z polem "Integer" i rozpakowuję "System.String" z notatki SharePoint.
to trochę roboty, ale to matka wszystkich hacków:
var myTempItem = list.AddItem(new ListItemCreationInformation());
myTempItem.Update();
context.ExecuteQuery();
context.Load(myTempItem);
context.ExecuteQuery();
Po stworzeniu, można użyć:
myTempItemCreated[fieldImTryingToGetTypeOf.Title].GetType().FullName
-> Gives->System.Int32
Teraz, jaka jest właściwa sposób to zrobić? Mam tylko nadzieję, że odpowiedź nie jest dziesięciostopową instrukcją zmiany przełącznika.
Myślę, że czasami po prostu nie ma leniwego wyjścia. http://www.quote2day.com/wp-content/uploads/Photo-35.jpg – David
:) Uważam się też za leniwą osobę, ale w tym konkretnym przypadku wydaje się, że jest to jedyna droga ... –