Недавно я сделал очень схожую вещь, чтобы создать безопасный метод OnPropertyChanged типа.
Вот метод, который вернет объект PropertyInfo для выражения. Он генерирует исключение, если выражение не является свойством.
public PropertyInfo GetPropertyInfo<TSource, TProperty>(
TSource source,
Expression<Func<TSource, TProperty>> propertyLambda)
{
Type type = typeof(TSource);
MemberExpression member = propertyLambda.Body as MemberExpression;
if (member == null)
throw new ArgumentException(string.Format(
"Expression '{0}' refers to a method, not a property.",
propertyLambda.ToString()));
PropertyInfo propInfo = member.Member as PropertyInfo;
if (propInfo == null)
throw new ArgumentException(string.Format(
"Expression '{0}' refers to a field, not a property.",
propertyLambda.ToString()));
if (type != propInfo.ReflectedType &&
!type.IsSubclassOf(propInfo.ReflectedType))
throw new ArgumentException(string.Format(
"Expression '{0}' refers to a property that is not from type {1}.",
propertyLambda.ToString(),
type));
return propInfo;
}
Параметр source
используется, чтобы компилятор мог выполнить вывод типа при вызове метода. Вы можете сделать следующее
var propertyInfo = GetPropertyInfo(someUserObject, u => u.UserID);
Я думаю, что необходимо изменить сервер загрузки. Python 2.7.3 уже предварительно установлен в человечности 12.04, таким образом, это не Python, который вызывает ошибку, но который бросает его. И Вы также упомянули, что имеете рабочее интернет-соединение, но тем не менее не можете загрузить ubuntu-restricted-extras.
Так смотрят на эту страницу, чтобы изучить, как изменить Ваш сервер загрузки
Ubuntu идет с бесплатным программным обеспечением и программным обеспечением с открытым исходным кодом по умолчанию, так собственное программное обеспечение, как программное обеспечение, необходимо играть mp3, не включен в новую установку. Но можно все еще установить его. Нажмите на ссылку ниже или запустите Центр программного обеспечения Ubuntu, оттуда, установите пакет, названный ubuntu-restricted-extras
. Это должно решить Вашу проблему.
Другой способ сделать это состоит в том, чтобы только попытаться играть mp3 файл. Появится сменный поиск. Нажмите Install
кнопка после того, как поиск будет завершен. Это также работает.
Сначала включите Мультивселенную repository.to, делают, которые открывают Software Sources
и нажимают spftware restricted by copyright(multiverse repository)
(можно также включить все, поскольку я сделал)
, Затем просто открывают терминал и тип
sudo apt-get install ubuntu-restricted-extras
Также как в случае, который Вы, кажется, не имеете Python
. Установка, которые путем ввода
sudo apt-get install python
, если это не работает затем, загружают этот пакет: Python для систем на 32 бита