“ActivityName.this”如何转换C#?

时间:2015-05-21 07:17:35

标签: android xamarin

我喜欢使用ActivityName.this(Java代码)

如何转换为C#(Xamarin)?

“this”不是ActivityName的成员

感谢。

public static class a{
public staric void DoWork(Context context){}
}

class b{
a.DoWork((Context)ActivityName)<- error is type but is used like a variable
a.DoWork(ActivityName) <- error is type but is used like a variable
a.DoWork(ActivityName.Context) <-no member Conttext
a.DoWork(ActivityName.this)<-no member this
}

b类不是活动所以这只是不可用

2 个答案:

答案 0 :(得分:0)

也许这对你有帮助 - &gt;例如,如果您在Java中有此代码

orientationEventListener = new OrientationEventListener(this) {
    @Override
    public void onOrientationChanged(int orientation) {
        MainActivity.this.onOrientationChanged(orientation);
    }
};

你可以用C#(Xamarin)将它转移到这个

var myOrientationListener = new MyListener();
myOrientationListener.OrientationChanged += (s, e) => {
     MyActivity.onOrientationChanged(e);
};

总的来说,请看一下这个论坛帖子http://forums.xamarin.com/discussion/32576/need-help-porting-java-to-c-how-to-handle-anonymous-inner-class

答案 1 :(得分:0)

“活动”没有this个字词。 如果您在Xamarin中编写应用,则应仅使用this关键字。 请看这个,我正在创建新的CustomProgressDialog对象:

CustomProgressDialog _customProgressDialog = new CustomProgressDialog(this);

希望这会有所帮助。