Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 访问另一个*.cs文件中定义的类成员_C#_Xml_Visual Studio - Fatal编程技术网

C# 访问另一个*.cs文件中定义的类成员

C# 访问另一个*.cs文件中定义的类成员,c#,xml,visual-studio,C#,Xml,Visual Studio,我正在为我的程序编写一个更新检查器,并使用来自远程服务器的xml。请求运行良好,它满足了我的要求。问题是我无法从另一个文件调用该函数。(见下面的代码) 文件 home.cs-我想调用RequestVersion() version.cs-位于RequestVersion()的位置 代码 version.cs (返回一个数组) home.cs 和我的XML结构: <?xml version="1.0" encoding="UTF-8"?> <SerialMate>

我正在为我的程序编写一个更新检查器,并使用来自远程服务器的xml。请求运行良好,它满足了我的要求。问题是我无法从另一个文件调用该函数。(见下面的代码)

文件

  • home.cs-我想调用
    RequestVersion()
  • version.cs-位于
    RequestVersion()
    的位置
代码

version.cs

(返回一个数组)

home.cs

和我的XML结构:

<?xml version="1.0" encoding="UTF-8"?>
<SerialMate>
  <release version="1.0.0">
    <date>12-10-2014</date>
    <changelog>Test</changelog>
  </release>
</SerialMate>

12-10-2014
试验
(我没有在xml上添加任何新的
标记,因此它总是有1)

问题


因此,我的问题是:它如何从
home.cs
中的
RequestVersion()
访问数组元素?

我不太理解您的问题,但是:

version v = new version();
string[] s = v.RequestVersion();

我不太理解你的问题,但是:

version v = new version();
string[] s = v.RequestVersion();

在其他文件和项目中引用代码

在同一个项目中,代码是在同一个文件中还是在不同的文件中完全没有区别。唯一重要的是访问修饰符(
public
protected
internal
private

如果两个代码段位于不同的项目中,则编译后的代码将编译成两个不同的程序集(
*.exe
*.dll
)。因此,一个项目必须参考另一个项目。通常,启动项目(
*.exe
)将引用类库项目(
*.dll

如果两个项目位于同一个解决方案中,则可以添加所谓的项目引用。在解决方案资源管理器中右键单击类库项目,然后单击“复制为项目引用”。在启动项目中,右键单击“引用”,然后单击“粘贴引用”

如果这两个项目位于不同的解决方案中,则必须从启动项目中添加对类库DLL(通常是bin/Release中的DLL)的引用。右键单击“参考”,然后单击“添加参考…”。在“引用”对话框中,选择“浏览”并选择DLL

还要确保不要创建循环依赖项(项目A引用项目B,项目B引用项目A)。如果您有这样的依赖关系,通常可以通过将两个项目必须访问的代码放入第三个项目C来解决它。然后将引用更改为:a引用C和B引用C


调用另一个类的方法

类型(您案例中的类)及其成员(属性、方法、事件…)必须声明为
public
,以便从其他项目访问。在同一个项目中,它们也可以声明为
内部
。(如果要派生新类,也可以将它们声明为
受保护的
。)

如果一个成员声明为
静态
,或者它是一个常量,则可以通过在成员名称中指定类型名称来访问它:

var result = MyClass.MyMethod();
如果成员是实例成员,则必须从类型(对象)的实例调用该成员:


在其他文件和项目中引用代码

在同一个项目中,代码是在同一个文件中还是在不同的文件中完全没有区别。唯一重要的是访问修饰符(
public
protected
internal
private

如果两个代码段位于不同的项目中,则编译后的代码将编译成两个不同的程序集(
*.exe
*.dll
)。因此,一个项目必须参考另一个项目。通常,启动项目(
*.exe
)将引用类库项目(
*.dll

如果两个项目位于同一个解决方案中,则可以添加所谓的项目引用。在解决方案资源管理器中右键单击类库项目,然后单击“复制为项目引用”。在启动项目中,右键单击“引用”,然后单击“粘贴引用”

如果这两个项目位于不同的解决方案中,则必须从启动项目中添加对类库DLL(通常是bin/Release中的DLL)的引用。右键单击“参考”,然后单击“添加参考…”。在“引用”对话框中,选择“浏览”并选择DLL

还要确保不要创建循环依赖项(项目A引用项目B,项目B引用项目A)。如果您有这样的依赖关系,通常可以通过将两个项目必须访问的代码放入第三个项目C来解决它。然后将引用更改为:a引用C和B引用C


调用另一个类的方法

类型(您案例中的类)及其成员(属性、方法、事件…)必须声明为
public
,以便从其他项目访问。在同一个项目中,它们也可以声明为
内部
。(如果要派生新类,也可以将它们声明为
受保护的
。)

如果一个成员声明为
静态
,或者它是一个常量,则可以通过在成员名称中指定类型名称来访问它:

var result = MyClass.MyMethod();
如果成员是实例成员,则必须从类型(对象)的实例调用该成员:


这两个文件是否在同一个项目中?请注意,您应该考虑更改标题,请阅读此链接以了解更多不幸的是,您没有给我们足够的信息来回答问题。我们需要知道您试图在
CheckforUpdateSolStripMenuItem\u Click
中放入什么,以及这些文件在您的解决方案中是如何排列的(它们都在同一个项目中吗?
MyClass obj = new MyClass();
var result = Obj.MyMethod();