From f0b4c24e8232be8cd478d4fd67ca90468815eb56 Mon Sep 17 00:00:00 2001 From: james7132 Date: Fri, 10 Feb 2017 21:52:33 +0000 Subject: [PATCH] Add InjectAttribute for annotating injectable properties --- src/Discord.Net.Commands/Attributes/InjectAttribute.cs | 9 +++++++++ src/Discord.Net.Commands/Utilities/ReflectionUtils.cs | 4 +++- 2 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 src/Discord.Net.Commands/Attributes/InjectAttribute.cs diff --git a/src/Discord.Net.Commands/Attributes/InjectAttribute.cs b/src/Discord.Net.Commands/Attributes/InjectAttribute.cs new file mode 100644 index 000000000..b970fa8c8 --- /dev/null +++ b/src/Discord.Net.Commands/Attributes/InjectAttribute.cs @@ -0,0 +1,9 @@ +using System; + +namespace Discord.Commands { + + [AttributeUsage(AttributeTargets.Property)] + public class InjectAttribute : Attribute { + } + +} diff --git a/src/Discord.Net.Commands/Utilities/ReflectionUtils.cs b/src/Discord.Net.Commands/Utilities/ReflectionUtils.cs index 635f00fc3..5bed627df 100644 --- a/src/Discord.Net.Commands/Utilities/ReflectionUtils.cs +++ b/src/Discord.Net.Commands/Utilities/ReflectionUtils.cs @@ -19,7 +19,9 @@ namespace Discord.Commands var constructor = constructors[0]; System.Reflection.ParameterInfo[] parameters = constructor.GetParameters(); - System.Reflection.PropertyInfo[] properties = typeInfo.DeclaredProperties.Where(p => p.CanWrite).ToArray(); + System.Reflection.PropertyInfo[] properties = typeInfo.DeclaredProperties + .Where(p => p.CanWrite && p.GetCustomAttribute() != null) + .ToArray(); return (map) => {