Как использовать свойства базового класса
Я не знаю, где я делаю ошибку, я пробовал много раз, но что-то не так с этим кодом, в методе обновлений я получаю id, версию и заданные значения, эти свойства находятся в классе logodetails, и я использую logodetails в качестве базового класса для деталей изображения. когда я использую класс ImageDetails в другом месте проекта, я получаю значения 0 ; (id = 0, version =0, set = 0)
public void Updates(AUnit _aUnit, int Id) { ImageDetails _details = new ImageDetails(_aUnit, Id); List<LogoDetails> logolist = new List<LogoDetails>(); LogoDetails logoDetails = new LogoDetails(); int count = (int) _aUnit.ReadBits(8); for (int i = 0; i < (int) count; i++) { logoDetails.ID = 15;(int) _aUnit.ReadBits(8); logoDetails.Version = 6; (int) _aUnit.ReadBits(8); logoDetails.set = 14; (int) _aUnit.ReadBits(24); logolist.Add(logoDetails); } foreach (LogoDetails listitem in logolist) { _details.Rset = _aUnit.Buffer.Skip(10).Take(_details.set).ToArray(); } } public class ImageDetails :LogoDetails { public ImageDetails(AUnit _au, int carouselId) { carId = carouselId; _AUnit = _au; _updateTime = ""; } private string _updateTime; public string UpdateTime { get { return _updateTime; } set { _updateTime = value; } } } public class LogoDetails { public int LogoID { get; set; } public int LogoVersion { get; set; } public int Offset { get; set; } }
Что я уже пробовал:
Я попробовал использовать тот же класс, но вместо базового класса он работал следующим образом
F-ES Sitecore
Классы - это экземпляры типов, поэтому, когда вы создаете класс в своем методе Updates, любые свойства, которые вы устанавливаете для этого объекта, применяются только к этому объекту. Если вы создадите новый экземпляр того же класса в другом месте, он будет иметь значения по умолчанию. Как упоминалось в решении 1, вы создаете классы, но ничего не делаете с ними, они просто исчезают, когда заканчивается ваш метод Updates. Вы можете запутаться между обычными и статическими свойствами. Когда вы определяете что-то как статическое, тогда это «глобальное» свойство из-за отсутствия лучшей фразы, и если вы установите это статическое свойство в методе, то все, что обращается к этому статическому свойству, увидит обновление. Хотя вряд ли вы этого хотите.