XAML
<Picker x:Name="picker" Title="Select Country" ItemDisplayBinding="{Binding Name}" >
</Picker>
Используйте это в вашей модели представления
C #
public partial class SamplePage: ContentPage
{
public ObservableCollection<Country> CountryList { get; set; } = new ObservableCollection<Country>
{
new Country{Name = "India" },
new Country{Name = "Australia" },
new Country{Name = "UAE" },
new Country{Name = "USA" },
};
public SamplePage()
{
InitializeComponent();
picker.ItemsSource = CountryList;
}
}
Класс страны
public class Country
{
public string Name { get; set; }
}
См., что ответ использует TypeTag для Scala 2.10 и выше
Позвольте мне рекомендовать #Scala на freenode
10:48 <seet_> http://stackoverflow.com/questions/190368/getting-the-string-representation-of-a-type-at-runtime-in-scala <-- isnt this posible?
10:48 <seet_> possible
10:48 <lambdabot> Title: Getting the string representation of a type at runtime in Scala - Stack Overflow,
http://tinyurl.com/53242l
10:49 <mapreduce> Types aren't objects.
10:49 <mapreduce> or values
10:49 <mapreduce> println(classOf[T]) should give you something, but probably not what you want.
Существует новая, главным-образом-недокументированная-функциональность, названная "декларациями" в Scala; это работает как это:
object Foo {
def apply[T <: AnyRef](t: T)(implicit m: scala.reflect.Manifest[T]) = println("t was " + t.toString + " of class " + t.getClass.getName() + ", erased from " + m.erasure)
}
AnyRef связал, должен просто там гарантировать, что значение имеет .toString метод.
Обратите внимание на то, что это не действительно "вещь":
object Test {
def main (args : Array[String]) {
println(classOf[List[String]])
}
}
дает
$ scala Test
class scala.List
Я думаю, что можно возложить ответственность за это на стирание
==== ОТРЕДАКТИРУЙТЕ ====, я попытался делать его с методом с универсальным параметром типа:
object TestSv {
def main(args:Array[String]){
narf[String]
}
def narf[T](){
println(classOf[T])
}
}
И привычка компилятора принимает его. Типы arn't классы являются объяснением