首页 > 解决方案 > 如何将java处理程序转换为c#

问题描述

我正在开发一个 C# 项目,但是它的 SDK 是 Java,我已经转换了 C# 中的几乎所有代码,但是,我在将以下 Java 代码转换为 C# 时遇到了一些问题:

private Handler mhanlder;    
protected Handler getHandler() {
    if (mhanlder == null) {
        mhanlder = new Handler() {
            public void handleMessage(Message msg) {
                handleStateMessage(msg);
            }
        };
    }
    return mhanlder;
}

任何帮助,将不胜感激。

标签: javac#androidxamarin.android

解决方案


就像@VIadyslav 所说,C# 没有匿名类,所以我们需要将它声明为独立类。

MyHandler班级:

public class MyHandler : Handler
{
    public override void HandleMessage(Message msg)
    {
        base.HandleMessage(msg);
    }
}

像这样使用它:

   Handler mHandler;
   public Handler getHanlder() {

        if (mHandler == null) {
            mHandler = new MyHandler();
        }
        return mHandler;
    }

推荐阅读