using System;
public class Test
{
class Entity
{
static int s_nextSerialNo;
int _serialNo;
public Entity()
{
_serialNo = s_nextSerialNo++;
}
public int GetSerialNo()
{
return _serialNo;
}
public static int GetNextSerialNo()
{
return s_nextSerialNo;
}
public static void SetNextSerialNo(int value)
{
s_nextSerialNo = value;
}
}
public static void Main()
{
Entity.SetNextSerialNo(1000);
Entity e1 = new Entity();
Entity e2 = new Entity();
Console.WriteLine(e1.GetSerialNo()); // Outputs "1000"
Console.WriteLine(e2.GetSerialNo()); // Outputs "1001"
Console.WriteLine(Entity.GetNextSerialNo()); // Outputs "1002"
}
}
dXNpbmcgU3lzdGVtOwoKcHVibGljIGNsYXNzIFRlc3QKewoJY2xhc3MgRW50aXR5Cgl7CgkgICAgc3RhdGljIGludCBzX25leHRTZXJpYWxObzsKCSAgICBpbnQgX3NlcmlhbE5vOwoJICAgIAoJICAgIHB1YmxpYyBFbnRpdHkoKQoJICAgIHsKCSAgICAgICAgX3NlcmlhbE5vID0gc19uZXh0U2VyaWFsTm8rKzsKCSAgICB9CgkgICAgCgkgICAgcHVibGljIGludCBHZXRTZXJpYWxObygpCgkgICAgewoJICAgICAgICByZXR1cm4gX3NlcmlhbE5vOwoJICAgIH0KCSAgICAKCSAgICBwdWJsaWMgc3RhdGljIGludCBHZXROZXh0U2VyaWFsTm8oKQoJICAgIHsKCSAgICAgICAgcmV0dXJuIHNfbmV4dFNlcmlhbE5vOwoJICAgIH0KCSAgICAKCSAgICBwdWJsaWMgc3RhdGljIHZvaWQgU2V0TmV4dFNlcmlhbE5vKGludCB2YWx1ZSkKCSAgICB7CgkgICAgICAgIHNfbmV4dFNlcmlhbE5vID0gdmFsdWU7CgkgICAgfQoJfQoJCglwdWJsaWMgc3RhdGljIHZvaWQgTWFpbigpCgl7CgkJRW50aXR5LlNldE5leHRTZXJpYWxObygxMDAwKTsKCQlFbnRpdHkgZTEgPSBuZXcgRW50aXR5KCk7CgkJRW50aXR5IGUyID0gbmV3IEVudGl0eSgpOwoJCUNvbnNvbGUuV3JpdGVMaW5lKGUxLkdldFNlcmlhbE5vKCkpOyAgICAgICAgICAvLyBPdXRwdXRzICIxMDAwIgoJCUNvbnNvbGUuV3JpdGVMaW5lKGUyLkdldFNlcmlhbE5vKCkpOyAgICAgICAgICAvLyBPdXRwdXRzICIxMDAxIgoJCUNvbnNvbGUuV3JpdGVMaW5lKEVudGl0eS5HZXROZXh0U2VyaWFsTm8oKSk7ICAvLyBPdXRwdXRzICIxMDAyIgoJfQp9