当前位置:  开发笔记 > 编程语言 > 正文

将一个结构传递给另一个类

如何解决《将一个结构传递给另一个类》经验,为你挑选了1个好方法。

我在一个C#类中有一个结构数组,我想将该数据传递到另一个类中。

这是我的代码

private struct strClassOfService
{
    public string COS;
    public string myValue;
}

private strClassOfService[] arrCOS = null;

//
// some code that loads arrCOS with data
//

//
// here is where i will instantiate another class and
// set the arrCOS so I can use it in the other class
//

如果所有其他方法都失败了,我想我可以在另一个类中重新加载数据。但是我很好奇是否有办法。到目前为止,我的尝试失败了。



1> Daniel LeChe..:

好吧,一方面,如果您打算将结构传递给另一个类,则应该将结构定义公开(或至少是内部)。一旦这样做,就可以使用各种方法(属性,方法呼叫等)将数据复制到您的其他班级。

下面显示了两种技术(当然,您只需要使用一种...)

public class Foo1
{
    public struct Bar
    {
        string A;
        string B;
    }

    private Bar[] data;

    // Using a method
    public Bar[] ExportData()
    {
        return data;
    }

    // Using properties
    public Bar[] DataProperty
    {
        get { return data; }
    }
}

public class Foo2
{
    private Foo1.Bar[] data;

    // Using a method
    public void ImportData(Foo1 source)
    {
        this.data = source.ExportData();
    }

    // Using properties
    public Foo1.Bar[] DataProperty
    {
        get { return data; }
    }

    public void ReadProperty(Foo1 source)
    {
        this.DataProperty = source.DataProperty;
    }
}

推荐阅读
ERIK又
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有