加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

为什么我的C代码看不到这个C#类成员?

发布时间:2020-12-16 10:04:29 所属栏目:百科 来源:网络整理
导读:我在C#项目中有几个自定义类,然后我在C项目中引用它. C#代码看起来像这样 namespace AllOptions{ public class AllOptions { public AlgorithmOptions algOptions{ get; set; } public DatabaSEOptions dataOptions{ get; set; } } public class AlgorithmOp
我在C#项目中有几个自定义类,然后我在C项目中引用它. C#代码看起来像这样

namespace AllOptions
{
    public class AllOptions {
        public AlgorithmOptions algOptions{ get; set; }
        public DatabaSEOptions dataOptions{ get; set; }
    }

    public class AlgorithmOptions {
        List<Algorithm> algorithms { get; set; }

        public void SetDefaults(){
            this.algorithms.Clear();
        }
    }
    public class Algorithm {
        public bool AllowSalt { get; set; }
    }
    public class DatabaSEOptions {
        public List<string> databaseSrouces { get; set; }
    }
}

然后从C我试图访问AllOptions的各个部分,但并非所有部分都通过.

//Is declared at the beginning
public: VerifyOptions::VerifyOptions Options;

//Then later on I try to access the database options and algorithm options
this->Options.databaSEOptions->databaseSources = someStringList; //works fine

//This cannot find the algorithm list
this->Options.algorithmOptions->algorithms = someAlgorithmList; //does not work

算法说“Class AllOptions :: AlgorithmOptions没有成员算法”.为什么C代码看不到这个特定的C#成员?

编辑我的问题被标记为可能与此Default access modifier in C#问题重复.但是我认为这些是导致相同答案的不同问题.如果我想错了,请再次标记,我会改变它.

解决方法

AlgorithmOptions.algorithms是一个私有成员.只有包含类才能访??问其私有成员.相比之下,DatabaSEOptions.databaseSources是一个公共成员,您可以从任何地方访问它.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读