Nel codice lato server SharePoint, è possibile scrivere qualcosa di simile:Come estrarre il tipo da un campo?
field.fieldvalueType
Che a volte vi darà il tipo (DateTime, o qualsiasi altra cosa). Fastidiosamente, a volte, restituisce semplicemente Null (ad esempio, il campo ID).
In CSOM, non si dispone di quel campo. Tuttavia, c'è TypeAsString
che dà i tipi di SharePoint, quali:
- Computerizzata
- Integer
- Nota
Quello che mi piacerebbe fare è afferrare questa huge table from MSDN:
ed estratto "Int32" quando so che ho a che fare con un campo "Integer" ed estrai "System.String" dalla nota di SharePoint.
Questo funziona un pò, ma è la madre di tutte le hack:
var myTempItem = list.AddItem(new ListItemCreationInformation());
myTempItem.Update();
context.ExecuteQuery();
context.Load(myTempItem);
context.ExecuteQuery();
Dopo la creazione, è possibile utilizzare:
myTempItemCreated[fieldImTryingToGetTypeOf.Title].GetType().FullName
-> Gives->System.Int32
Ora, qual è la corretta modo di farlo? Spero solo che la risposta non sia una dichiarazione di un interruttore di dieci piedi di lunghezza.
Suppongo, a volte, semplicemente non ci sia una via di uscita pigra. http://www.quote2day.com/wp-content/uploads/Photo-35.jpg – David
:) Mi considero anche una persona pigra, ma in questo caso particolare sembra essere l'unico modo .. –