方法c#(Xamarin)中的java方法
我正在用谷歌指南在我用Xamarin开发的Android应用程序中创建位置建议。我想知道如何将这个Java代码转换为c#,以及如何处理c#中方法内部的方法?谢谢
public Filter getFilter() {
Filter filter = new Filter() {
@Override
protected FilterResults performFiltering(CharSequence constraint) {
FilterResults filterResults = new FilterResults();
if (constraint != null) {
// Retrieve the autocomplete results.
resultList = autocomplete(constraint.toString());
// Assign the data to the FilterResults
filterResults.values = resultList;
filterResults.count = resultList.size();
}
return filterResults;
}
@Override
protected void publishResults(CharSequence constraint, FilterResults results) {
if (results != null && results.count > 0) {
notifyDataSetChanged();
}
else {
notifyDataSetInvalidated();
}
}};
return filter;
}
# 1 楼答案
只需创建一个新的命名类来扩展或实现
Filter
(取决于它是接口还是类)。如果在其他地方不需要,请将其设置为嵌套类对于单一方法接口,通常委托是表示类型的最简单方式——我相信Xamarin使用的习惯用法——然后可以使用lambda表达式或匿名方法“内联”编写实现