类组织:如何在组织文件夹中的类时调用其他类中的实例成员
本文关键字:调用 实例 成员 其他 文件夹 | 更新日期: 2023-09-27 18:14:06
我正在尝试将我的类组织到如下图所示的文件夹中:
问题是当我运行主程序时,我什么也得不到,我正在访问数据成员,但无法获得它们的值。
有三个文件夹:Asset
, Transit
和Members
。
Asset是根目录。成员包含我需要在整个程序中访问的所有变量,而Transit包含其他方法或数据库类。
代码:
namespace ClassObjects.Asset.Members
{
class DataMembers
{
private string instanceMemberA;
private string instanceMemberB;
public void SetValues(string inputA, string inputB)
{
this.instanceMemberA = inputA;
this.instanceMemberB = inputB;
}
public string MemberA
{
get
{
return this.instanceMemberA;
}
}
public string MemberB
{
get
{
return this.instanceMemberB;
}
}
}
}
交通类:
namespace ClassObjects.Asset.Transit
{
class Transit
{
//Example here
public void DoNothing()
{
Asset.Members.DataMembers dataMember = new Asset.Members.DataMembers();
//Pass values to datamember
dataMember.SetValues("ValueA", "ValueB");
}
}
}
主要方法:namespace ClassObjects
{
class Program
{
static void Main(string[] args)
{
Asset.Members.DataMembers dataMember = new Asset.Members.DataMembers();
//Unable to print the values sent to the data members from the Transit class.
Console.WriteLine(dataMember.MemberA);
Console.ReadKey();
}
}
}
我认为你需要学会使用调试器,这样你就可以弄清楚什么时候发生了自己!如果你想编程,这是一项非常重要的技能。
无论如何,在你的例子中:你的主程序只执行2步:
-
It
new DataMembers()
。这将调用默认构造函数(您没有),这意味着您的所有字段都将具有默认值。对于字符串,它是null
-
打印
dataMember.MemberA
。正如我所说的,这个值是null
,null
在你的控制台上什么也不打印。
这是预期行为。我猜你在某个地方错过了SetValues()
电话。顺便说一句,你的Transit
类从来没有使用过。
您的程序运行正常。你的意思是让Transit
返回一个数据集合吗?
public Asset.Members.DataMembers DoNothing()
{
var dataMember = new Asset.Members.DataMembers();
// Pass values to datamember
dataMember.SetValues("ValueA", "ValueB");
// Return values to the caller
return dataMember;
}
然后,在程序中存储该方法的结果并打印出来。
static void Main(string[] args)
{
Asset.Members.DataMembers dataMember;
dataMember = new Transit().DoNothing();
Console.WriteLine(dataMember.MemberA);
Console.ReadKey();
}