Explicitly mark Orleans IdAttribute property as removed/obsolete

56 Views Asked by At

Suppose I have the following class:

[GenerateSerializer]
public class MyClass
{
    [Id(0)]
    public string Prop1{ get; set; }

    [Id(1)]
    public int Prop2 { get; set; }

    [Id(2)]
    public double Prop3 { get; set; }
}

After a while I'd like to update this class by removing/abandoning Prop3 and add Prop4. Can I just remove Prop3, leaving Id 2 unused then add Prop4 with new Id:

{
    [Id(0)]
    public string Prop1{ get; set; }

    [Id(1)]
    public int Prop2 { get; set; }

    [Id(3)]
    public double Prop4 { get; set; }
}

Chances is someone who does not know may reuse the Id 2, which I really would try to avoid. Is there a way to explicitly mark the removed property with the Id 2 as removed or obsolete so they will not be able to reused?

0

There are 0 best solutions below