Tag: class

.NET – 如何创建一个类,只有一个其他特定的类可以实例化它?

我想要进行以下设置: class Descriptor { public string Name { get; private set; } public IList Parameters { get; private set; } // Set to ReadOnlyCollection private Descrtiptor() { } public Descriptor GetByName(string Name) { // Magic here, caching, loading, parsing, etc. } } class Parameter { public string Name { get; private set; } public string […]

c#静态类和非静态有什么不同(我说的是类本身而不是字段)

语法可能有误 public static class Storage { public static string filePath { get; set; } } 和 public class Storage { private void Storage () {}; public static string filePath { get; set; } } 我从互联网上的一个例子中得到了这个。 第二个有什么用?

在列表框中插入列表

我是C#的新手,我正在尝试在C#中进行探索,但是我尝试在列表框中添加一个列表。 我遇到的错误是: Object reference not set to an instance of an object. 知道如何解决这个问题吗? namespace WindowsFormsApplication { public partial class Form1 : Form { something a = something iets(); public Form1() { InitializeComponent(); } // part1 class something { public List testing { get ; set; } } // part2 private void button1_Click(object sender, EventArgs e) […]

c#抽象类

我必须创建一个假的DMV程序来计算商用和私人车辆的年费。 这两个类将是抽象的,它们将从名为所有车辆的类中进行多态化。 我的教练只希望一个对象创建整个程序(在main中),但由于我的前三层类是抽象的。 我不能用它们创建一个物体,即vehicle = new vehicles(); 所以我的问题是如何创建一个对象,因为它们是抽象的? 如果您有任何问题可以随意提问,我可能没有解释清楚……

如何搜索特定的结构值? 也许更好的方法?

我正在尝试找到我之前创建的具有特定值的结构。 一旦找到它,我想在该结构上设置变量。 我不知道该怎么做。 有更好的方法吗? 也许上课? 结构应该工作吗? 例如,我的结构: public struct MyTest { public string device; public string status; public string revision; public string number; public string ledmo; } 我的测试代码: MyTest thisTest=new MyTest(); thisTest.device=blah; thisTest.number=blah2; MyTest thisTest2=new MyTest(); thisTest2.device=blah5; thisTest2.number=blah6; //Another Part in my code. //Need to find the MyTest Structure that ‘device’ variable = the string […]

在c#中只读一个列表

我有这个示例代码。 我想要做的是使“Nums”值只能使用“AddNum”方法写入。 namespace ConsoleApplication1 { public class Person { string myName = “N/A”; int myAge = 0; List _nums = new List(); public List Nums { get { return _nums; } } public void AddNum(int NumToAdd) { _nums.Add(NumToAdd); } public string Name { get; set; } public int Age { get; set; } } } […]

如果Items等效,则将项目从一个类映射到另一个类

假设我有一个看起来像这样的class : public class Person { public string Name {get; set;} public int Number {get; set;} } 而另一个看起来像这样: public class Dog { public string Name {get; set;} public int Number {get; set;} } 它们是两个不同的类,但它们碰巧具有完全相同的元素(一个名为Name的字符串和一个名为Number的int) 有没有一种简单的方法在C#中,比方说,如果我有一个Person实例,然后创建一个具有相同Name和Number的Dog实例? 例如,如果我有: Person person = new Person(); person.Name = “George”; person.Number = 1; 我知道我不能简单地去: Dog dog = person; 因为它们是两种不同的类型。 但是在C#中是否有办法检查“哦,如果它们具有相同的元素,则将Dog的相同元素设置为与Person 。但我觉得必须有一种比执行类似操作更简单的方法: […]

使用C#将CSV文件导入List

我正在使用C#将CSV文件导入我的应用程序 目前我有一个1字段的CSV文件。 它工作得很好,但现在我想在同一个应用程序中添加一个3字段的CSV文件。 一旦数据存储到List中,我就将它绑定到我的DataGridView 这是我写的相关代码。 如果您发现任何不属于我的问题但可能有问题的问题,请随时大声说出来。 我总是希望学习和改进我的代码。 BindingList data = new BindingList(); private void importExcelFile() { TextFieldParser parser = new TextFieldParser(fileName); parser.TextFieldType = FieldType.Delimited; parser.SetDelimiters(“,”); while (!parser.EndOfData) { //Processing row string[] fields = parser.ReadFields(); foreach (string field in fields) { StringValue s = new StringValue(field); // Issue is here. It adds it to a single […]

C#结构 – 从外部库访问类

关于构建我的应用程序的正确方法,我有一个问题。 我是C#的初学者,所以如果我有一些基础缺失的借口。 我在网上看了(不仅是stackoverflow),但没有找到任何答案,所以也许这只是因为我做错了什么? 我有一个项目,其中有几个类来定义我的对象。 Object1.class.cs Object2.class.cs …… 现在,对于某些函数,我创建了类库(.dll文件)来外部化代码。 我的想法是,如果我需要进行更新,我只需要替换.dll文件,而不是所有代码。 但是当我想将对象发送到该类时遇到问题,我认为因为它们是解决方案的外部因素? 所以我开始怀疑我是否正确地做到了。 1)有没有办法将项目中的对象发送到我单独创建的类? 2)以这种方式工作是一个好主意吗? 我的意思是,我当然可以在我的项目中添加库,但在这种情况下,我将不会分离.dll文件,并且所有文件都在一个.exe文件中。 3)当我需要测试我的课程时,我总是需要关闭我的项目,打开课程进行编辑,然后回到我的项目进行测试。 有更简单的方法吗? 提前感谢您的建议 编辑2。 Simone Cifani perfercly回答了我的问题: 1)课程必须外化 2)在我的外部库中添加对必要类的引用 3)在我的主项目中添加对每个类和外部库的引用 由于我不知道如何使用Interfaces,我会在没有它的情况下使用它,但我认为即使没有它也会很好。

添加到类中的列表

我有这门课 public class User { private string _name; public string UserName { get; set; } public List ControlNumber { get; set; } public User (string username) { _name = username; } public User() { } } 而这个function填补了这个阶级。 User UserClass = new User(e.Key); //e.Key = user’s name public static void FillUserListClass(DataTable dt, ref UserClass) { try […]