Wubi не может получить требуемый файл образа диска [дубликат]

Я выполнил реализацию INotifyPropertyChanged, аналогичную описанному ниже методу. Здесь свойства сохраняются в словаре в базовом классе, показанном ниже. Конечно, не всегда желательно использовать наследование, но для моделей представлений я считаю приемлемым и дает очень чистые ссылки на свойства в классах моделей представления.

public class PhotoDetailsViewModel
    : PropertyChangedNotifierBase<PhotoDetailsViewModel>
{
    public bool IsLoading
    {
        get { return GetValue(x => x.IsLoading); }
        set { SetPropertyValue(x => x.IsLoading, value); }
    }

    public string PendingOperation
    {
        get { return GetValue(x => x.PendingOperation); }
        set { SetPropertyValue(x => x.PendingOperation, value); }
    }

    public PhotoViewModel Photo
    {
        get { return GetValue(x => x.Photo); }
        set { SetPropertyValue(x => x.Photo, value); }
    }
}

Ниже показан несколько более сложный базовый класс. Он обрабатывает перевод из лямбда-выражения в имя свойства. Обратите внимание, что свойства действительно псевдо-свойства, поскольку используются только имена. Но он будет казаться прозрачным для модели представления и ссылки на свойства модели вида.

public class PropertyChangedNotifierBase<T> : INotifyPropertyChanged
{
    readonly Dictionary<string, object> _properties = new Dictionary<string, object>();

    protected U GetValue<U>(Expression<Func<T, U>> property)
    {
        var propertyName = GetPropertyName(property);

        return GetValue<U>(propertyName);
    }

    private U GetValue<U>(string propertyName)
    {
        object value;

        if (!_properties.TryGetValue(propertyName, out value))
        {
            return default(U);
        }

        return (U)value;
    }

    protected void SetPropertyValue<U>(Expression<Func<T, U>> property, U value)
    {
        var propertyName = GetPropertyName(property);

        var oldValue = GetValue<U>(propertyName);

        if (Object.ReferenceEquals(oldValue, value))
        {
            return;
        }
        _properties[propertyName] = value;

        RaisePropertyChangedEvent(propertyName);
    }

    protected void RaisePropertyChangedEvent<U>(Expression<Func<T, U>> property)
    {
        var name = GetPropertyName(property);
        RaisePropertyChangedEvent(name);
    }

    protected void RaisePropertyChangedEvent(string propertyName)
    {
        if (PropertyChanged != null)
        {
            PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
        }
    }

    private static string GetPropertyName<U>(Expression<Func<T, U>> property)
    {
        if (property == null)
        {
            throw new NullReferenceException("property");
        }

        var lambda = property as LambdaExpression;

        var memberAssignment = (MemberExpression) lambda.Body;
        return memberAssignment.Member.Name;
    }

    public event PropertyChangedEventHandler PropertyChanged;
}
1
задан Community 23 August 2012 в 05:50
поделиться

1 ответ

Вы могли бы посмотреть здесь: https://askubuntu.com/questions/tagged/wubi

, Прежде чем Вы сделаете установку wubi, необходимо записать DVD и загрузиться от живого DVD. Существует опция 'Try Ubuntu'. Попробуйте это сначала прежде, чем сделать любую установку на всякий случай, это не совместимо с Вашими аппаратными средствами. Когда Вы говорите, что 'я поместил обоих файлы в ту же папку', я не ясен, что Вы имеете в виду. Нормальный путь состоит в том, чтобы записать DVD и выполнить autopla из Windows. Разъяснитесь.

-1
ответ дан Community 22 October 2019 в 15:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: