In Sharepoint Server-Side-Code, können Sie so etwas wie schreiben:Wie extrahiere ich den Typ aus einem Feld?
field.fieldvalueType
das man manchmal die Art (Datetime, oder was auch immer) geben. Nervig, manchmal gibt es nur Null zurück (zum Beispiel das ID-Feld).
In CSOM haben Sie dieses Feld nicht. Allerdings gibt es TypeAsString
, die Sharepoint-Typen wie gibt:
- Computed
- Integer
- Hinweis
Was ich tun möchte greifen diese huge table from MSDN:
Und Extract "Int32", wenn ich weiß, dass es sich um ein "Integer" -Feld handelt, und extrahiere "System.String" aus der Notiz von SharePoint.
Diese irgendwie funktioniert, aber es ist die Mutter aller Hacks:
var myTempItem = list.AddItem(new ListItemCreationInformation());
myTempItem.Update();
context.ExecuteQuery();
context.Load(myTempItem);
context.ExecuteQuery();
Nach der Erstellung können Sie:
myTempItemCreated[fieldImTryingToGetTypeOf.Title].GetType().FullName
-> Gives->System.Int32
Nun, was das richtige ist Weg, es zu tun? Ich hoffe nur, dass die Antwort keine zehn Fuß lange Switch-Case-Anweisung ist.
Ich denke, manchmal gibt es einfach keinen faulen Ausweg. http://www.quote2day.com/wp-content/uploads/Photo-35.jpg – David
:) Ich betrachte mich auch als eine faule Person, aber in diesem speziellen Fall scheint es der einzige Weg zu sein .. –