internal override bool TrySetValue(CodeContext/*!*/ context, object instance, PythonType owner, object value) {
Assert.NotNull(context);
BoundEvent et = value as BoundEvent;
if (et == null || EventInfosDiffer(et)) {
BadEventChange bea = value as BadEventChange;
if (bea != null) {
PythonType dt = bea.Owner as PythonType;
if (dt != null) {
if (bea.Instance == null) {
throw new MissingMemberException(String.Format("attribute '{1}' of '{0}' object is read-only", dt.Name, _tracker.Name));
} else {
throw new MissingMemberException(String.Format("'{0}' object has no attribute '{1}'", dt.Name, _tracker.Name));
}
}
}
throw ReadOnlyException(DynamicHelpers.GetPythonTypeFromType(Info.DeclaringType));
}
return true;
}