簡體   English   中英

如何使用C#在類中創建具有常量值的子屬性的屬性

[英]how to create properties with sub properties having constant values in a class using c#

我想使用StringBuilder()類創建一個字符串。 我有說雇員的記錄。 Employee的每個記錄都有諸如firstName,lastName,city等列。我要創建的字符串將分別具有上述列的值。 為此,我需要創建一個類

class Columns
{
    string Firstname
    {
        startPosition = 1;
        length = 32;
    }

    string LastName
    {
        startPosition = 33;
        length = 32;
    }
}

在我要構建的字符串中,我需要在提到的各個起始位置插入Firstname,Lastname的值。 我是新手,在創建上述類時需要幫助。 上面指定的代碼只是該類應該是什么樣的原型,但我不知道該如何創建。 我需要在所有列中都存在屬性startPosition和length,並且這些值需要進行硬編碼。 抱歉,我的問題不清楚。 請幫忙..

讓我首先告訴您,沒有“子屬性”之類的東西。 您可以做的是擁有一個暴露類本身屬性的類的屬性/字段。

因此,您可能想為一個Column創建一個class ,然后創建一個List來跟蹤您的Column,如以下示例所示。

public class Column
{
    public string Name { get; set; }
    public int StartPos { get; set; }
    public int Length { get; set; }
}

public class Test
{
    private List<Column> Columns = new List<Column>();

    public Test()
    {
        this.Columns.Add(new Column { Name = "FirstName", StartPos = 1, Length = 32 });
        this.Columns.Add(new Column { Name = "LastName", StartPos = 33, Length = 32 });
    }

    public string GetThatString(string str)
    {
        foreach (var col in this.Columns)
        {
            // Do what you need. Sample:
            var item = str.Substring(col.StartPos, col.Length);
            Console.WriteLine("{0}: {1}", col.Name, item);
        }
    }
}

然后,您可以遍歷列表中的項目,並讓您的字符串生成器完成您需要的工作。 當然,您也可以為每個列創建一個屬性,而不是為所有列的列表創建一個屬性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM