DataType Attribute Decoration through Reflection
Supose this Scenario
public class CustomerMetaData
{
[DataType(DataType.EmailAddress)]
public String EmailAddress {get;set;}
[DataType(DataType.Url)]
public String UrlUser {get;set;}
}
I need to get via reflection DataType of all properties on this class, but extensive web search, i not found any solution around this type of DataAttribute.
I explain a bit more, i dont need to know the datatype of the property Like, String, Boolean....) i need the part of the [DataType(DataType.....)] Attribute.
Thanks in advance.
Some Idea?
c# reflection
add a comment |
Supose this Scenario
public class CustomerMetaData
{
[DataType(DataType.EmailAddress)]
public String EmailAddress {get;set;}
[DataType(DataType.Url)]
public String UrlUser {get;set;}
}
I need to get via reflection DataType of all properties on this class, but extensive web search, i not found any solution around this type of DataAttribute.
I explain a bit more, i dont need to know the datatype of the property Like, String, Boolean....) i need the part of the [DataType(DataType.....)] Attribute.
Thanks in advance.
Some Idea?
c# reflection
add a comment |
Supose this Scenario
public class CustomerMetaData
{
[DataType(DataType.EmailAddress)]
public String EmailAddress {get;set;}
[DataType(DataType.Url)]
public String UrlUser {get;set;}
}
I need to get via reflection DataType of all properties on this class, but extensive web search, i not found any solution around this type of DataAttribute.
I explain a bit more, i dont need to know the datatype of the property Like, String, Boolean....) i need the part of the [DataType(DataType.....)] Attribute.
Thanks in advance.
Some Idea?
c# reflection
Supose this Scenario
public class CustomerMetaData
{
[DataType(DataType.EmailAddress)]
public String EmailAddress {get;set;}
[DataType(DataType.Url)]
public String UrlUser {get;set;}
}
I need to get via reflection DataType of all properties on this class, but extensive web search, i not found any solution around this type of DataAttribute.
I explain a bit more, i dont need to know the datatype of the property Like, String, Boolean....) i need the part of the [DataType(DataType.....)] Attribute.
Thanks in advance.
Some Idea?
c# reflection
c# reflection
edited Sep 18 '12 at 16:11
pstrjds
12.7k54455
12.7k54455
asked Sep 18 '12 at 15:51
Alfred SeveroAlfred Severo
129211
129211
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
You need the GetCustomAttributes method.
This is from memory, but it would go something like this:
PropertyInfo props = typeof(CustomerMetaData).GetProperties();
foreach(PropertyInfo p in props)
{
object attribs = p.GetCustomAttributes(false);
// do something with the attributes
}
Look up the GetProperties and GetCustomAttributes methods to make sure of the parameters: if any of your properties are non-public, you'll have to specify some additional information to get information for them.
Thanks for the quick response!! After some fixes i got the attribute inside "attribs" array.
– Alfred Severo
Sep 18 '12 at 16:23
Added the complete solution for my question, because this im glad to share with everyone
– Alfred Severo
Sep 18 '12 at 17:12
add a comment |
After thinking about it for 5 years...
PropertyInfo props = typeof(CustomerMetaData).GetProperties();
foreach(PropertyInfo p in props)
{
IEnumerable<DataTypeAttibute> dataTypeAttrs = p.GetCustomAttributes<DataTypeAttribute>(false);
foreach(var attr in dataTypeAttrs)
{
DataType dataType = attr.DataType;
// do something with the datatype
}
}
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f12480577%2fdatatype-attribute-decoration-through-reflection%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
You need the GetCustomAttributes method.
This is from memory, but it would go something like this:
PropertyInfo props = typeof(CustomerMetaData).GetProperties();
foreach(PropertyInfo p in props)
{
object attribs = p.GetCustomAttributes(false);
// do something with the attributes
}
Look up the GetProperties and GetCustomAttributes methods to make sure of the parameters: if any of your properties are non-public, you'll have to specify some additional information to get information for them.
Thanks for the quick response!! After some fixes i got the attribute inside "attribs" array.
– Alfred Severo
Sep 18 '12 at 16:23
Added the complete solution for my question, because this im glad to share with everyone
– Alfred Severo
Sep 18 '12 at 17:12
add a comment |
You need the GetCustomAttributes method.
This is from memory, but it would go something like this:
PropertyInfo props = typeof(CustomerMetaData).GetProperties();
foreach(PropertyInfo p in props)
{
object attribs = p.GetCustomAttributes(false);
// do something with the attributes
}
Look up the GetProperties and GetCustomAttributes methods to make sure of the parameters: if any of your properties are non-public, you'll have to specify some additional information to get information for them.
Thanks for the quick response!! After some fixes i got the attribute inside "attribs" array.
– Alfred Severo
Sep 18 '12 at 16:23
Added the complete solution for my question, because this im glad to share with everyone
– Alfred Severo
Sep 18 '12 at 17:12
add a comment |
You need the GetCustomAttributes method.
This is from memory, but it would go something like this:
PropertyInfo props = typeof(CustomerMetaData).GetProperties();
foreach(PropertyInfo p in props)
{
object attribs = p.GetCustomAttributes(false);
// do something with the attributes
}
Look up the GetProperties and GetCustomAttributes methods to make sure of the parameters: if any of your properties are non-public, you'll have to specify some additional information to get information for them.
You need the GetCustomAttributes method.
This is from memory, but it would go something like this:
PropertyInfo props = typeof(CustomerMetaData).GetProperties();
foreach(PropertyInfo p in props)
{
object attribs = p.GetCustomAttributes(false);
// do something with the attributes
}
Look up the GetProperties and GetCustomAttributes methods to make sure of the parameters: if any of your properties are non-public, you'll have to specify some additional information to get information for them.
answered Sep 18 '12 at 15:55
Ann L.Ann L.
11.5k42755
11.5k42755
Thanks for the quick response!! After some fixes i got the attribute inside "attribs" array.
– Alfred Severo
Sep 18 '12 at 16:23
Added the complete solution for my question, because this im glad to share with everyone
– Alfred Severo
Sep 18 '12 at 17:12
add a comment |
Thanks for the quick response!! After some fixes i got the attribute inside "attribs" array.
– Alfred Severo
Sep 18 '12 at 16:23
Added the complete solution for my question, because this im glad to share with everyone
– Alfred Severo
Sep 18 '12 at 17:12
Thanks for the quick response!! After some fixes i got the attribute inside "attribs" array.
– Alfred Severo
Sep 18 '12 at 16:23
Thanks for the quick response!! After some fixes i got the attribute inside "attribs" array.
– Alfred Severo
Sep 18 '12 at 16:23
Added the complete solution for my question, because this im glad to share with everyone
– Alfred Severo
Sep 18 '12 at 17:12
Added the complete solution for my question, because this im glad to share with everyone
– Alfred Severo
Sep 18 '12 at 17:12
add a comment |
After thinking about it for 5 years...
PropertyInfo props = typeof(CustomerMetaData).GetProperties();
foreach(PropertyInfo p in props)
{
IEnumerable<DataTypeAttibute> dataTypeAttrs = p.GetCustomAttributes<DataTypeAttribute>(false);
foreach(var attr in dataTypeAttrs)
{
DataType dataType = attr.DataType;
// do something with the datatype
}
}
add a comment |
After thinking about it for 5 years...
PropertyInfo props = typeof(CustomerMetaData).GetProperties();
foreach(PropertyInfo p in props)
{
IEnumerable<DataTypeAttibute> dataTypeAttrs = p.GetCustomAttributes<DataTypeAttribute>(false);
foreach(var attr in dataTypeAttrs)
{
DataType dataType = attr.DataType;
// do something with the datatype
}
}
add a comment |
After thinking about it for 5 years...
PropertyInfo props = typeof(CustomerMetaData).GetProperties();
foreach(PropertyInfo p in props)
{
IEnumerable<DataTypeAttibute> dataTypeAttrs = p.GetCustomAttributes<DataTypeAttribute>(false);
foreach(var attr in dataTypeAttrs)
{
DataType dataType = attr.DataType;
// do something with the datatype
}
}
After thinking about it for 5 years...
PropertyInfo props = typeof(CustomerMetaData).GetProperties();
foreach(PropertyInfo p in props)
{
IEnumerable<DataTypeAttibute> dataTypeAttrs = p.GetCustomAttributes<DataTypeAttribute>(false);
foreach(var attr in dataTypeAttrs)
{
DataType dataType = attr.DataType;
// do something with the datatype
}
}
answered Apr 11 '17 at 13:44
TheRoyalWeTheRoyalWe
11
11
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f12480577%2fdatatype-attribute-decoration-through-reflection%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown