C# “什么是”呢;[Xamarin.Forms.ContentProperty(“Contents”)];上面一节课实际上在做什么?

C# “什么是”呢;[Xamarin.Forms.ContentProperty(“Contents”)];上面一节课实际上在做什么?,c#,xamarin,xamarin.forms,C#,Xamarin,Xamarin.forms,我理解这段代码是如何工作的,但是有人能解释一下第一行的作用吗?这是翻译成一些C代码的地方。如果我想手工编写代码,我该怎么做呢 [Xamarin.Forms.ContentProperty("Contents")] class PopupFrame : Frame { StackLayout contentStack { get; } = new StackLayout(); public IList<View> Contents { get =&

我理解这段代码是如何工作的,但是有人能解释一下第一行的作用吗?这是翻译成一些C代码的地方。如果我想手工编写代码,我该怎么做呢

[Xamarin.Forms.ContentProperty("Contents")]
class PopupFrame : Frame
{
    StackLayout contentStack { get; } = new StackLayout();

    public IList<View> Contents { get => contentStack.Children; }


    public PopupFrame()
    {
        Content = contentStack;

        HasShadow = true;
        HorizontalOptions = LayoutOptions.FillAndExpand;
        Padding = 0;
        VerticalOptions = LayoutOptions.Center;
    }
}
[Xamarin.Forms.ContentProperty(“内容”)]
类PopupFrame:Frame
{
StackLayout contentStack{get;}=new StackLayout();
公共IList内容{get=>contentStack.Children;}
公共弹出框()
{
Content=contentStack;
哈沙多=真;
水平选项=LayoutOptions.FillAndExpand;
填充=0;
垂直选项=布局选项。中心;
}
}

此属性告诉XAML处理器,if应该使用
内容
属性作为默认属性。所以,实际上它允许你写这个


而不是


从中选取的例子

关于你的问题“我怎么用C写这个?”你没有。这是XAML特有的东西,只不过是语法糖。在C#中,您只需将某些内容分配给
Content
属性。即:

var frame=new frame();
Frame.Content=newlabel(){Text=“Hello,Forms”};

此属性告诉XAML处理器,if应该使用
内容
属性作为默认属性。所以,实际上它允许你写这个


而不是


从中选取的例子

关于你的问题“我怎么用C写这个?”你没有。这是XAML特有的东西,只不过是语法糖。在C#中,您只需将某些内容分配给
Content
属性。即:

var frame=new frame();
Frame.Content=newlabel(){Text=“Hello,Forms”};
在C#中,语言元素前面方括号中的内容(在本例中,在类声明前面)称为属性。属性实际上是属性类(在本例中为
ContentPropertyAttribute
类)的实例。它几乎总是将元数据添加到包含属性的程序集。该类实例的属性包含在元数据中。查找
ContentPropertyAttribute
class文档以获取更多信息在C#中,语言元素前面方括号中的某个内容(在本例中,在类声明前面)称为属性。属性实际上是属性类(在本例中为
ContentPropertyAttribute
类)的实例。它几乎总是将元数据添加到包含属性的程序集。该类实例的属性包含在元数据中。查阅
ContentPropertyAttribute
class文档以获取更多信息