[英]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.