我正在使用Win 7 Visual Studio 2012上的C#。
我已经在我的C#项目中添加了一个引用(在另一个位置的.dll文件中定义和编译),因为我需要调用一个在该lib文件的类中定义的函数。
但是,当我从当前项目中检查定义时,我发现定义已更改,并且与我在打开定义类的源文件时看到的不同。
我是C#的新手。
可能的原因是什么?
代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.IO;
using System.Data;
using System.Diagnostics;
using System.Data.Odbc;
namespace MyName
{
public class MyDataLoad // the class definition is changed when I call it !!!
{
#region
// some functions definition
#endregion
void MyLoadDataFile()
{
}
}
}
再次更新
定义了类MyDataLoad的.cs文件中不存在MyLoadDataFile()noes的定义。我通过右键单击项目中的MyLoadDataFile()来打开文件。
打开的文件与用于生成.dll lib的源文件不同,后者作为对项目的引用添加。但是,我不知道如何解决这个问题。
MyDataLoad类的定义与我在用于生成.dll文件的源文件中看到的不同。这就是我的项目中的c#程序无法调用MyLoadDataFile()的原因,因为它是在用于生成.dll文件的源文件中定义的。类MyDataLoad的定义与用于获取.dll文件的文件不同。
由于
答案 0 :(得分:1)
我怀疑你所指的是你在c#app中看不到方法MyLoadDataFile
的事实。这是因为您没有使用访问修饰符。
void MyLoadDataFile()
你需要
public void MyLoadDataFile()
您的默认修饰符是类成员上的private
。这就是你没有看到它的原因