Я учусь C#, поэтому я все еще нахожусь здесь по основам. Это мой код
class foo
{
protected int id;
protected string data;
static int nextId = 1;
public int Id
{
get { return id; }
}
public foo()
{
this.id = nextId++;
}
public foo(string somedata)
{
this.data = somedata;
this.id = nextId++;
}
}
Этот код пока работает отлично. Все объекты будут иметь уникальный идентификатор с ними.
Проблема в том, что я не хочу, чтобы первый идентификатор был 1, я хочу, чтобы это был номер в первой строке файла, заданный в качестве аргумента для приложения из командной строки. Если файл не указан или файл не существует, то он может быть одним. Есть ли способ сделать одноразовый метод для установки nextId, чтобы он не мог быть изменен вне класса после того, как он был когда-то установлен?
Дух ... Я думаю это это трюк Тем не менее, я хотел бы знать, есть ли какая-то сборка для создания переменных, которые можно установить только один раз.
public int nextId
{
set {if(nextId<1) nextId = value;}
}