为什么可以';t我的C++;代码看到这个C#类成员了吗? 我在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; } } }
算法称“类AllOptions::AlgorithmOptions没有成员算法”。为什么C++代码不能看到这个特殊的C成员?为什么可以';t我的C++;代码看到这个C#类成员了吗? 我在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#,c++,C#,C++,算法称“类AllOptions::AlgorithmOptions没有成员算法”。为什么C++代码不能看到这个特殊的C成员? “编辑我的问题”被标记为可能与此问题重复。然而,我相信这些是不同的问题,碰巧得到了相同的答案。如果我认为错误,请重新标记它,我将更改它。算法选项。算法是私人成员。只有包含类才能访问其私有成员。相比之下,DatabaseOptions.databaseSources是一个公共成员,您可以从任何地方访问它。可能您在某个地方输入了错误。你在C和C++代码中确实有错误匹配< 数据
“编辑我的问题”被标记为可能与此问题重复。然而,我相信这些是不同的问题,碰巧得到了相同的答案。如果我认为错误,请重新标记它,我将更改它。
算法选项。算法是私人成员。只有包含类才能访问其私有成员。相比之下,DatabaseOptions.databaseSources
是一个公共成员,您可以从任何地方访问它。可能您在某个地方输入了错误。你在C和C++代码中确实有错误匹配< <代码>数据库> 和 DavaStudioSuxs/Cuff>。你既有c#
又有c++
@andrewruckle这不是一个包含这两种语言的问题吗?哎呀,我看错了第一句话,你在使用两种语言。我很坏!我觉得很愚蠢,我忘记了标准保护级别是私有的,这确实是我的错误。谢谢你的快速回复
//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