C# 无法从其他文件创建对象
我在TestInput.cs文件中有这个类C# 无法从其他文件创建对象,c#,c#-4.0,C#,C# 4.0,我在TestInput.cs文件中有这个类 public class HDate { private string StartYear; public string StartYear1 { get { return StartYear; } set { StartYear = value; } } public HDate() { } pub
public class HDate
{
private string StartYear;
public string StartYear1
{
get { return StartYear; }
set { StartYear = value; }
}
public HDate() { }
public HDate(){
DateTime today = DateTime.Now;
//Some Code here
}
return StartDate+';'+EndDate; // ???
}
然后我将从该类创建一个对象。这个文件是Inputsubmit.cs文件
if(ds.Tables[0].Rows.Count < 0)
{
HDate hd = new HDate()
hd.
}
if(ds.Tables[0].Rows.Count<0)
{
HDate hd=新的HDate()
高清。
}
我得到的是,然后自动为HDate创建新类。。但是我已经在另一个文件上有一个类了,知道吗?如果你能澄清一下当你试图构造一个
HDate
时实际发生了什么,那会很有帮助。但是,您的HDate
类有两个具有相同签名的构造函数。编译器将无法确定要调用哪个对象,因此在生成HDate
对象之前,您需要删除其中一个对象。除非您所展示的是HDate
声明的简化示例,否则可能是HDate
类没有编译,因此intellisense不会选择它
特别是您有一行:returnstartdate+;'+结束日期;/代码>
这只是在类声明中,而不是在方法中,并且引用了我看不到声明的StartDate
和EndDate
。关于类HDate:构造函数HDate()不能返回值!而你不得不返回的方法谁有一种类型的reture
当您创建类的实例时:(HDate hd=new HDate();)并且它是正确的。您将执行构造函数HDate()。但是在构造函数中声明了一个局部变量((今天它是局部变量,而不是全局变量)),所以不能使用它
也许你可以做到:
public class HDate
{
private string StartYear;
public string StartYear1 {get ; set }
//you can write that when you use framwork 3.0 or hit
//public HDate() { }// you can note have 2 constructor with same signature !!
public DateTime today;
public HDate(){
today = DateTime.Now;
//Some Code here
}
// you can make methode :
public string updateDate() // this methode will retrun a string
{
DateTime StartDate, EndDate;
// some code here
return StartDate+" ; "+EndDate ; // string is between " " ! not between ' ' ;)
}
}// end of class.. after you can declarate hd and make hd.updateDate(); good luck
哦!!我忘了!您需要编写:使用TestInput.cs;在您的文件:Inputsubmit.cs:D中,您是否将它们放在不同的名称空间中,就像名称空间问题一样。哪个命名空间包含HDate,哪个命名空间包含您试图从中使用HDate的类?可能是HDate没有编译吗e、 g.EndDate
没有定义。还有,返回语句在那里做什么?相同的Namespace.in inputsubmit.cs files类是公共类inputsubmit{我只是粘贴了部分代码。我只是想知道如何从另一个类访问datamambers..使用对象创建