and why not something like this?
Code:
class MyClass
{
    private int id;
    private string name;
    private int rank;

    public int Id
    {
        get { return id; }
    }
  
    public int Rank
    {
        get { return rank; }
    }

    public string Name
    {
        get { return name; }
    }

    public MyClass(string text)
    {
        // parse the text
    }
}