C# 如何将结构实例分配给包含该结构的类?

C# 如何将结构实例分配给包含该结构的类?,c#,.net,struct,C#,.net,Struct,我以前从未使用过structs。我在下面创建了一个简单的例子来说明我要做的事情。我选择struts的原因是,对象永远不需要存在于类的上下文之外。谢谢 班级 尝试方法 不能将结构声明用作类的属性。您应该拆分属性和实际的结构定义 试试这个: public _Attachment Attachment {get;set;} /* Attachment as property */ public struct _Attachment /* The definition of the struct */

我以前从未使用过structs。我在下面创建了一个简单的例子来说明我要做的事情。我选择struts的原因是,对象永远不需要存在于类的上下文之外。谢谢

班级

尝试方法

不能将结构声明用作类的属性。您应该拆分属性和实际的结构定义

试试这个:

public _Attachment Attachment {get;set;} /* Attachment as property */

public struct _Attachment /* The definition of the struct */
{
    public string Name { get; set; }

    public string Bas64 { get; set; }
}
然后像这样使用它:

var myAttachment = new EmailMessage._Attachment
{
    ...
}
顺便说一下:实际上不需要结构。使用类也可以。

不能将结构声明用作类的属性。您应该拆分属性和实际的结构定义

试试这个:

public _Attachment Attachment {get;set;} /* Attachment as property */

public struct _Attachment /* The definition of the struct */
{
    public string Name { get; set; }

    public string Bas64 { get; set; }
}
然后像这样使用它:

var myAttachment = new EmailMessage._Attachment
{
    ...
}
顺便说一下:实际上不需要结构。使用类也可以。

您的问题是myEmailMessage.Attachment=我的附件;正在尝试将某个内容分配给名为附件的成员。问题是您的类中没有名为Attachment的属性。您已经声明了一个名为that的结构,但这只是一个声明,不会创建属性或其他类似的内容

您需要的是在类上有一个实际的属性,然后可以将附件实例分配给它。

您的问题是myEmailMessage.Attachment=my Attachment;正在尝试将某个内容分配给名为附件的成员。问题是您的类中没有名为Attachment的属性。您已经声明了一个名为that的结构,但这只是一个声明,不会创建属性或其他类似的内容

您需要的是在类上有一个实际的属性,然后可以将附件实例分配给它。

您的EmailMessage类没有附件属性,只有一个附件嵌套类型

应将附件结构重命名为EmailAttachment以避免名称冲突,并创建附件属性:

public class EmailMessage
{
    public EmailAddress To { get; set; }

    public EmailAddress From { get; set; }

    public string Subject { get; set; }

    public string Body { get; set; }

    public EmailAttachment Attachment { get; set; }

    public struct EmailAttachment
    {
        public string Name { get; set; }

        public string Bas64 { get; set; }
    }
}
您的EmailMessage类没有附件属性,只有附件嵌套类型

应将附件结构重命名为EmailAttachment以避免名称冲突,并创建附件属性:

public class EmailMessage
{
    public EmailAddress To { get; set; }

    public EmailAddress From { get; set; }

    public string Subject { get; set; }

    public string Body { get; set; }

    public EmailAttachment Attachment { get; set; }

    public struct EmailAttachment
    {
        public string Name { get; set; }

        public string Bas64 { get; set; }
    }
}

您收到了什么错误?您的电子邮件没有属性附件请考虑阅读。我看不出有什么理由在这里使用结构。您遇到了什么错误?您的电子邮件没有属性附件请考虑阅读。我看没有理由在这里使用struct。