创建了我的一流图书馆-寻找建议

ConsKa

知名会员
已加入
2020年12月11日
留言内容
85
编程经验
Beginner
我希望可以问这样的问题,如果不合适,请删除该帖子,我会知道什么是合适的。

我正在学习C#,并试图“重构”我的代码(这是一个巨大的1000行Win Form。因此,我创建了我的一流的库,我只想由比我了解更多的人来运行它如果有改进,或者我误解了实现的方法-这是完全可能的。

我创建了一个名为FileName.cs的类,以处理在整个Win Form中使用的所有文件名。

C#:
public class FileName
    {
        public string Path { get; set; }
        public string Date { get; set; }
        public string Name { get; set; }

        public string CombinedName(string name)
        {
            Path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\\";
            Date = DateTime.Now.ToString("yyyyMMdd");
            this.Name = name;
            return 路径+名称;
        }

    }

我知道Date在上面的代码中已经变得多余-并非总是如此,但是我正在测试一种不同的命名约定以改善功能。

在Form1.cs的最顶部,我引用了需要创建的对象:

C#:
FileName DataSetOne = new FileName();
        FileName DataSetTwo = new FileName();
        FileName DataSetFull = new FileName();
        FileName DataSetExcel = new FileName();

然后,每当我需要引用文件时,我都使用一行代码-每个文件:

C#:
string DS1 = DataSetOne.CombinedName("DataSet1.txt");
            string DS2 = DataSetTwo.CombinedName("DataSet2.txt");
            string DF1 = DataSetFull.CombinedName("fulldataset.txt");

从技术上讲,我还是使用一行代码(只是将变量设置为"Path + Name"-这在更改命名约定方面给了我极大的帮助-我刚刚做了....我只是更改了类方法,并且所有名称都在整个过程中都进行了更改,因此这样做确实有好处,我我想采取另一步骤将代码重构为类,但是在继续之前,我想寻求一些建议,以确保我不会完全误解基础知识。

自我教学,容易教自己犯错误。
 

跳伞

工作人员
已加入
2019年4月6日
留言内容
2,497
地点
弗吉尼亚州切萨皮克
编程经验
10+
在自学时,花一些时间来了解.NET Framework的命名约定。

 

跳伞

工作人员
已加入
2019年4月6日
留言内容
2,497
地点
弗吉尼亚州切萨皮克
编程经验
10+
至于那个班级的设计,我个人会推荐一些类似的东西:
Immutable type:
public class FileName
{
    public string Path { get; }
    public string Date { get; }
    public string Name { get; }
    public string FullName { get; }

    public FileName(string name)
    {
        Path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\\";
        Date = DateTime.Now.ToString("yyyyMMdd");
        Name = name;
        FullName = Path.Combine(Path, Name);
    }
}

The above would be even easier with the C# 9.0 record type.
 

ConsKa

知名会员
已加入
2020年12月11日
留言内容
85
编程经验
Beginner
为此,我早些时候在这里看到了,但是工作很忙。

我知道骆驼和帕斯卡(Pascal),但并不是真的100%如此,所以为指南加油。

看你的例子,我仍然需要

C#:
string dataSet1 = DataSetOne.FullName("DataSet1.txt")

要将值分配给其余代码的字符串?
 
最佳 底部