sta*_*ith 3 c# java xamarin.android
我正在转换一些Java代码C#,以便在我的MonoDroid应用程序中使用.我有一些片段,其中声明接口,然后初始化为对象.我不是100%肯定在C#中实现这些的最佳方法.
例如:
public class NumberPicker {
public interface Formatter {
String toString(int value);
}
public static final NumberPicker.Formatter TWO_DIGIT_FORMATTER =
new NumberPicker.Formatter() {
//some code here
};
}
Run Code Online (Sandbox Code Playgroud)
在c#中执行此操作的等效或最佳方法是什么?
对于具有一个函数的简单"一次性"接口(例如,事件侦听器),您可以考虑重写代码以使用委托和匿名函数.
delegate String Formatter(int n);
...
Formatter TWO_DIGIT_FORMATTER = delegate(int n) {
//code here
};
Run Code Online (Sandbox Code Playgroud)
然后你可以使用TWO_DIGIT_FORMATTER像函数(TWO_DIGIT_FORMATTER(12)).
匿名类(这是你的java代码中发生的事情)在C#中不存在,但委托就足够了这样的情况.
| 归档时间: |
|
| 查看次数: |
568 次 |
| 最近记录: |