这似乎是Android标准:
[Activity(Label = "JiveTomTurkey", MainLauncher = true, Icon = "@drawable/icon")]
public class HyperActivity : Activity
......但它似乎是多余的 - 如果HyperActivity继承自Activity,为什么它还必须告诉编译器该类是一个Activity?
答案 0 :(得分:1)
我发现了这个:
我们之前提到过,必须在AndroidManifest.xml文件中注册活动,以便操作系统找到它们,而ActivityAttribute可以帮助它们做到这一点。在编译期间,Xamarin.Android构建过程从项目中的所有类文件中收集所有属性数据,然后创建一个新的AndroidManifest.xml,该文件基于项目中的AndroidManifest.xml文件,但属性数据合并在然后它将清单捆绑到生成的编译应用程序(apk文件)中。
通过使用C#属性,Xamarin.Android能够保存用于将Activity注册到类定义的声明性信息。如果未包含此属性,将导致Android无法找到活动,因为它不会在系统中注册。