Как записать большие файлы в Blobstore, используя экспериментальный API?

Хотя это не невозможно, это особенно сложно. Это потребует ходьбы от дерева выражений и выполнения некоторой потенциально сложной логики. Например, что бы вы хотели увидеть, если я передал в следующем выражении?

Func<bool, object> expr = switch => switch ? 1 : "False";

Этот метод мог либо возвратить int, либо string.

Теперь вы можете добиться большего прогресса, разгрузив часть этой логики в компиляторе. Вы можете изменить свой параметр метода с Func<T, object> на Func<T, TReturn> и использовать typeof(TReturn) в этом методе, чтобы определить, что компилятор решил использовать тип возвращаемого выражения.

Конечно, в случае мой пример, вы все равно будете работать против object. Но ваш пример из x => x.IntegerProperty.ToString() даст string, и это то, что вы ищете.

11
задан minus 12 April 2011 в 16:56
поделиться