Реализация класса из 2 интерфейсов, которые разделяют некоторые части

Разве следующее не является хорошей практикой?

public interface IMyImmutableData
{
    int Data { get;}
}

public interface IMyMutableData
{
    int Data { set;get;}//implements both get and set
}

public class MyData : IMyImmutableData, IMyMutableData
{
    public int Data{get;set;} //implements both IMyImmutableData, IMyMutableData
}

void Main()
{
    MyData myData = new MyData{Data=10};
    Console.WriteLine(myData.Data);
}

Я спрашиваю, почему resharper дает мне следующее предупреждение: «Возможна двусмысленность при доступе через этот интерфейс»

Причина, по которой я хочу сделать вышесказанное заключается в том, что когда я создаю методы, использующие класс MyData, я хотел бы отправить его как объекты IMyMutable или IMyImmutable, чтобы пользователи метода знали, что они могут ожидать, что метод обновит или не обновит переданный объект.

5
задан Raj Rao 25 August 2011 в 17:21
поделиться