c#:初学者CLASS构造函数问题
发布时间:2020-12-15 19:37:36 所属栏目:百科 来源:网络整理
导读:public class ElapsedTime{ public int hours; public int minutes; public void ElapsedTime(int h,int m) { hours = h; minutes = m; }} 从另一个事件我这样做: ElapsedTime BeginningTime = new ElapsedTime(); 我如何初始化h和m? 当我尝试这样做时:Be
public class ElapsedTime { public int hours; public int minutes; public void ElapsedTime(int h,int m) { hours = h; minutes = m; } } 从另一个事件我这样做: ElapsedTime BeginningTime = new ElapsedTime(); 我如何初始化h和m? 当我尝试这样做时:BeginningTime.ElapsedTime(7,7); 它给了我这个错误:
我想要的是一个带有接受初始化值的构造函数的类.我希望能够打电话给它. 更新: 我现在有 : public class ElapsedTime { private int hours; private int minutes; public ElapsedTime(int h,int m) { hours = h; minutes = m; } } 它在公共ElapsedTime上给了我同样的erorr(int h,int m) 解决方法
类的构造函数需要与类本身的名称相同.现在,参数h和m使它成为参数化构造函数.要初始化此类的实例,您需要为这些类指定值.
ElapsedTime beginningTime = new ElapsedTime(7,7); 通过变量调用构造函数是不可行的: ElapsedTime beginningTime; beginningTime.ElapsedTime(7,7); // This will cause an error,as your constructor isn't a method... 在inroder中是一个类初始值设定项,构造函数没有返回类型(既不是void). 当然,如果您想要一个以某种格式提供值的属性,则需要公开一个属性,该属性将为您提供实例化实例的值: public class ElapsedTime { public ElapsedTime(int h,int m) { Hours = h; Minutes = m; } public int Hours { get; private set; } public int Minutes { get; private set; } public string ElapsedTime { get { return string.Format("{0}:{1}",Hours,Minutes); } } } 我是否正确理解了您的问题? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |