C# 将一个类转换为另一个不同类型的类的成员

C# 将一个类转换为另一个不同类型的类的成员,c#,object,casting,C#,Object,Casting,我想为成员a指定一个值。编辑内容应与a相同。我已尝试将一个类强制转换为另一个类,但它不起作用。仅在“A.Edits”中,我要指定值rest A.错误和A.我不想触摸的警告。我在编辑B课上得到了结果集 我有两个用户定义的ClaimEditModel和Edit类型的A类和B类,如下- 类定义如下所示- public class ClaimEditModel() { Edits = new List<EditInfo>(); Errors = new List<Edi

我想为成员a指定一个值。编辑内容应与a相同。我已尝试将一个类强制转换为另一个类,但它不起作用。仅在“A.Edits”中,我要指定值rest A.错误和A.我不想触摸的警告。我在编辑B课上得到了结果集

我有两个用户定义的ClaimEditModel和Edit类型的A类和B类,如下-
类定义如下所示-

public class ClaimEditModel()
{
    Edits = new List<EditInfo>();
    Errors = new List<EditRuleError>();
    Warnings = new List<EditRuleError>();
}

public class Edit
{
    public int EditLevel;
    public int EditNumber;
    public string EditType;
    public List<Field> PrimaryFields;
    public string Rule;
}

ClaimEditModel A = new ClaimEditModel();
Edit B = new Edit();

这是一个令人困惑的问题,但我认为您只想将
Edit
的一个实例添加到
a
中的列表中。所以你可以这样做:

A.Edits.Add(B);

代码中的类定义也是无效的,尽管这可能只是编写问题时的一个错误。我的回答基于这样一个假设,即您对
ClaimEditModel
的真正定义如下,如果不是,那么您也需要更改它:

public class ClaimEditModel()
{
    public List<EditInfo> Edits = new List<EditInfo>();
    public List<EditRuleError> Errors = new List<EditRuleError>();
    public List<EditRuleError> Warnings = new List<EditRuleError>();
}
public类ClaimEditModel()
{
公共列表编辑=新建列表();
公共列表错误=新列表();
公共列表警告=新列表();
}

您发布的代码将不会被编译。它是EditInfo列表,您无法将其强制转换为编辑类型…发布的代码不正确。类Edit没有属性edits?!我认为您想将EditInfo类映射到编辑对象并添加到编辑中。@Rahul:是的,但OP建议他的问题是设置值。OP没有提到类定义的问题,所以我们可以假设问题中的定义只是缺少一些代码。或者你是对的,OP也有问题。。。我想我们只能等待澄清,这只是猜测,不是答案。应该是评论。@Reniuz:我不知道。。。老实说,我认为这是一个相当合理的假设。问题显然集中在设置值上,没有提到任何关于类定义的问题。阅读字里行间的问题并不罕见,尤其是像奥普韦尔这样没有经验的用户,我同意他们的说法。这是我个人的观点,但对不清楚问题的评论迫使OP编辑问题并添加更多细节以获得答案。当问题在回答中明确时,我们将保留与答案相关的问题。如果你是正确的,OP get就是它所需要的,并且接受答案,那么只有从答案中你才能知道问题的真正问题是什么。我在想,这对未来的读者来说将是多么的令人失望,他们正在寻找一个关于演员问题的答案(标题就是这个)@Reniuz:是的,一个公平的观点。如果OP发表了评论,或者接受了答案,我会整理这个问题,让未来的读者明白
public class ClaimEditModel()
{
    public List<EditInfo> Edits = new List<EditInfo>();
    public List<EditRuleError> Errors = new List<EditRuleError>();
    public List<EditRuleError> Warnings = new List<EditRuleError>();
}