2

我正在调整自己以使用 c#(来自 java 背景)编写代码,学习新的有趣概念,如结构、命名空间、事件、部分和委托。

但是我无法弄清楚以下代码代表什么。在 Xamarin 中启动新的 Android 解决方案时,命名空间下方显示以下内容:

[Activity (Label = "CTSPAndroid", MainLauncher = true)]

这是做什么的?这个叫什么?

4

2 回答 2

7

正如其他人所回答的那样,此 C# 功能称为Attribute

Xamarin 使用这些特定Attribute的 s 来允许它的工具在应用程序构建期间在 Android Manifest xml 文件中创建条目。

http://docs.xamarin.com/guides/android/advanced_topics/working_with_androidmanifest.xml中有一篇很棒的文章

这些工具会分析编译后的代码,以便转换以下活动:

[Activity (Label="Awesome Demo App", MainLauncher=true)] 
public class MyActivity : Activity
{
}

进入xml节点,如:

<activity android:name="demo.MyActivity" android:label="Awesome Demo App">
  <intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
  </intent-filter>
</activity>
于 2013-10-22T17:16:41.020 回答
5

这叫做一个Attribute

我认为它类似于java“注释”。

于 2013-10-22T17:10:43.803 回答