Index: Core/Common/src/Core.Common.Gui/Attributes/DynamicPropertyOrderAttribute.cs
===================================================================
diff -u -rd4d24f72de2e86b7215351ed29e1debb8dd1de0d -r85248172d4c431dd8c1c0a1a8934f6ca32c1016b
--- Core/Common/src/Core.Common.Gui/Attributes/DynamicPropertyOrderAttribute.cs (.../DynamicPropertyOrderAttribute.cs) (revision d4d24f72de2e86b7215351ed29e1debb8dd1de0d)
+++ Core/Common/src/Core.Common.Gui/Attributes/DynamicPropertyOrderAttribute.cs (.../DynamicPropertyOrderAttribute.cs) (revision 85248172d4c431dd8c1c0a1a8934f6ca32c1016b)
@@ -25,9 +25,29 @@
namespace Core.Common.Gui.Attributes
{
+ ///
+ /// Marks property as a conditionally ordered property. When this attribute is declared
+ /// on a property, the declaring class should have a public method marked with
+ /// to be used to evaluate the
+ /// order of the property.
+ ///
+ ///
+ ///
+ /// This attribute provides a run-time alternative to .
[AttributeUsage(AttributeTargets.Property)]
public sealed class DynamicPropertyOrderAttribute : Attribute
{
+ ///
+ /// Determines the order of the property.
+ ///
+ /// The object.
+ /// The name of the property of .
+ /// The order of the property.
+ /// When
+ /// does not correspond to a public property of .
+ /// When there isn't a single method
+ /// declared on marked with
+ /// that is matching the signature defined by .
public static int Order(object obj, string propertyName)
{
if (string.IsNullOrEmpty(propertyName))
Index: Core/Common/src/Core.Common.Gui/Attributes/DynamicPropertyOrderMethodAttribute.cs
===================================================================
diff -u -rd4d24f72de2e86b7215351ed29e1debb8dd1de0d -r85248172d4c431dd8c1c0a1a8934f6ca32c1016b
--- Core/Common/src/Core.Common.Gui/Attributes/DynamicPropertyOrderMethodAttribute.cs (.../DynamicPropertyOrderMethodAttribute.cs) (revision d4d24f72de2e86b7215351ed29e1debb8dd1de0d)
+++ Core/Common/src/Core.Common.Gui/Attributes/DynamicPropertyOrderMethodAttribute.cs (.../DynamicPropertyOrderMethodAttribute.cs) (revision 85248172d4c431dd8c1c0a1a8934f6ca32c1016b)
@@ -26,11 +26,29 @@
namespace Core.Common.Gui.Attributes
{
+ ///
+ /// Marks a method to be used to determine the order of a property. The method
+ /// should be public and have the signature of .
+ ///
+ ///
[AttributeUsage(AttributeTargets.Method)]
public sealed class DynamicPropertyOrderMethodAttribute : Attribute
{
+ ///
+ /// Required method signature when marking a method with .
+ ///
+ /// The name of the property to be checked.
+ /// The order of the property.
public delegate int PropertyOrder(string propertyName);
+ ///
+ /// Creates a delegate that can be used to determine the order of a property.
+ ///
+ /// The object instance declaring the evaluation method.
+ /// The delegate.
+ /// When there isn't a single method
+ /// declared on marked with
+ /// that is matching the signature defined by .
public static PropertyOrder CreatePropertyOrderMethod(object target)
{
var methodInfo = GetPropertyOrderMethod(target);
Index: Core/Common/src/Core.Common.Gui/Attributes/DynamicReadOnlyAttribute.cs
===================================================================
diff -u -r4512af7782ee31b36941bb280b54d9da2953dd71 -r85248172d4c431dd8c1c0a1a8934f6ca32c1016b
--- Core/Common/src/Core.Common.Gui/Attributes/DynamicReadOnlyAttribute.cs (.../DynamicReadOnlyAttribute.cs) (revision 4512af7782ee31b36941bb280b54d9da2953dd71)
+++ Core/Common/src/Core.Common.Gui/Attributes/DynamicReadOnlyAttribute.cs (.../DynamicReadOnlyAttribute.cs) (revision 85248172d4c431dd8c1c0a1a8934f6ca32c1016b)
@@ -42,13 +42,13 @@
/// Determines whether the property is read-only or not.
///
/// The object.
- /// Name of the property of .
- /// True if the property is read-only, false otherwise.
- ///
+ /// The name of the property of .
+ /// True if the property is read-only, false otherwise.
+ /// When
/// does not correspond to a public property of .
/// When there isn't a single method
/// declared on marked with
- /// and/or isn't matching the signature defined by .
+ /// that is matching the signature defined by .
public static bool IsReadOnly(object obj, string propertyName)
{
if (string.IsNullOrEmpty(propertyName))
Index: Core/Common/src/Core.Common.Gui/Attributes/DynamicReadOnlyValidationMethodAttribute.cs
===================================================================
diff -u -r24da3aa72ccc0776599628c9f971081694048d9a -r85248172d4c431dd8c1c0a1a8934f6ca32c1016b
--- Core/Common/src/Core.Common.Gui/Attributes/DynamicReadOnlyValidationMethodAttribute.cs (.../DynamicReadOnlyValidationMethodAttribute.cs) (revision 24da3aa72ccc0776599628c9f971081694048d9a)
+++ Core/Common/src/Core.Common.Gui/Attributes/DynamicReadOnlyValidationMethodAttribute.cs (.../DynamicReadOnlyValidationMethodAttribute.cs) (revision 85248172d4c431dd8c1c0a1a8934f6ca32c1016b)
@@ -37,8 +37,8 @@
///
/// Required method signature when marking a method with .
///
- /// Name of the property to be checked.
- /// True if the referred property should be read-only, false if it should be editable.
+ /// The name of the property to be checked.
+ /// True if the referred property should be read-only, false if it should be editable.
public delegate bool IsPropertyReadOnly(string propertyName);
///
@@ -48,7 +48,7 @@
/// The delegate.
/// When there isn't a single method
/// declared on marked with
- /// and/or isn't matching the signature defined by .
+ /// that is matching the signature defined by .
public static IsPropertyReadOnly CreateIsReadOnlyMethod(object target)
{
var methodInfo = GetIsReadOnlyMethod(target);
Index: Core/Common/src/Core.Common.Gui/Attributes/DynamicVisibleAttribute.cs
===================================================================
diff -u -r24da3aa72ccc0776599628c9f971081694048d9a -r85248172d4c431dd8c1c0a1a8934f6ca32c1016b
--- Core/Common/src/Core.Common.Gui/Attributes/DynamicVisibleAttribute.cs (.../DynamicVisibleAttribute.cs) (revision 24da3aa72ccc0776599628c9f971081694048d9a)
+++ Core/Common/src/Core.Common.Gui/Attributes/DynamicVisibleAttribute.cs (.../DynamicVisibleAttribute.cs) (revision 85248172d4c431dd8c1c0a1a8934f6ca32c1016b)
@@ -42,13 +42,13 @@
/// Determines whether the property is visible or not.
///
/// The object.
- /// Name of the property of .
- /// True if the property is visible, false otherwise.
- ///
+ /// The name of the property of .
+ /// True if the property is visible, false otherwise.
+ /// When
/// does not correspond to a public property of .
/// When there isn't a single method
/// declared on marked with
- /// and/or isn't matching the signature defined by .
+ /// that is matching the signature defined by .
public static bool IsVisible(object obj, string propertyName)
{
if (string.IsNullOrEmpty(propertyName))
Index: Core/Common/src/Core.Common.Gui/Attributes/DynamicVisibleValidationMethodAttribute.cs
===================================================================
diff -u -r24da3aa72ccc0776599628c9f971081694048d9a -r85248172d4c431dd8c1c0a1a8934f6ca32c1016b
--- Core/Common/src/Core.Common.Gui/Attributes/DynamicVisibleValidationMethodAttribute.cs (.../DynamicVisibleValidationMethodAttribute.cs) (revision 24da3aa72ccc0776599628c9f971081694048d9a)
+++ Core/Common/src/Core.Common.Gui/Attributes/DynamicVisibleValidationMethodAttribute.cs (.../DynamicVisibleValidationMethodAttribute.cs) (revision 85248172d4c431dd8c1c0a1a8934f6ca32c1016b)
@@ -37,8 +37,8 @@
///
/// Required method signature when marking a method with .
///
- /// Name of the property to be checked.
- /// True if the referred property should be visible, false if it should be hidden.
+ /// The name of the property to be checked.
+ /// True if the referred property should be visible, false if it should be hidden.
public delegate bool IsPropertyVisible(string propertyName);
///
@@ -48,7 +48,7 @@
/// The delegate.
/// When there isn't a single method
/// declared on marked with
- /// and/or isn't matching the signature defined by .
+ /// that is matching the signature defined by .
public static IsPropertyVisible CreateIsVisibleMethod(object target)
{
var methodInfo = GetIsVisibleMethod(target);