Files
ZuneShell.dll/UIX/Microsoft/Iris/Markup/UIXPropertySchema.cs
T

73 lines
2.5 KiB
C#

// Decompiled with JetBrains decompiler
// Type: Microsoft.Iris.Markup.UIXPropertySchema
// Assembly: UIX, Version=4.8.0.0, Culture=neutral, PublicKeyToken=ddd0da4d3e678217
// MVID: A56C6C9D-B7F6-46A9-8BDE-B3D9B8D60B11
// Assembly location: C:\Program Files\Zune\UIX.dll
namespace Microsoft.Iris.Markup
{
internal class UIXPropertySchema : PropertySchema
{
private string _name;
private TypeSchema _propertyType;
private TypeSchema _alternateType;
private bool _isStatic;
private ExpressionRestriction _expressionRestriction;
private bool _requiredForCreation;
private RangeValidator _rangeValidator;
private bool _notifiesOnChange;
private GetValueHandler _getValue;
private SetValueHandler _setValue;
public UIXPropertySchema(
short ownerTypeID,
string name,
short typeID,
short alternateTypeID,
ExpressionRestriction expressionRestriction,
bool requiredForCreation,
RangeValidator rangeValidator,
bool notifiesOnChange,
GetValueHandler getValue,
SetValueHandler setValue,
bool isStatic)
: base(UIXTypes.MapIDToType(ownerTypeID))
{
_name = name;
_propertyType = UIXTypes.MapIDToType(typeID);
_alternateType = UIXTypes.MapIDToType(alternateTypeID);
_expressionRestriction = expressionRestriction;
_requiredForCreation = requiredForCreation;
_rangeValidator = rangeValidator;
_notifiesOnChange = notifiesOnChange;
_getValue = getValue;
_setValue = setValue;
_isStatic = isStatic;
}
public override string Name => _name;
public override TypeSchema PropertyType => _propertyType;
public override TypeSchema AlternateType => _alternateType;
public override bool CanRead => _getValue != null;
public override bool CanWrite => _setValue != null;
public override bool IsStatic => _isStatic;
public override ExpressionRestriction ExpressionRestriction => _expressionRestriction;
public override bool RequiredForCreation => _requiredForCreation;
public override RangeValidator RangeValidator => _rangeValidator;
public override bool NotifiesOnChange => _notifiesOnChange;
public override object GetValue(object instance) => _getValue(instance);
public override void SetValue(ref object instance, object value) => _setValue(ref instance, value);
}
}