"ActivityName.this"如何转换C#?

"ActivityName.this" How to convert C#?

我喜欢使用 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
}

class b 不是 Activity 所以这只是不可用

也许这对您有帮助 -> 例如,如果您在 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);
};

整个例子,看看这个论坛post http://forums.xamarin.com/discussion/32576/need-help-porting-java-to-c-how-to-handle-anonymous-inner-class

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

CustomProgressDialog _customProgressDialog = new CustomProgressDialog(this);

希望这会有所帮助。