Groups the utility methods that extracts the meta data of a type.
/*
Copyright 2010 Franois Karman
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
See <license.txt> for the complete license of the software.
*/
using System;
using System.Linq;
using System.Reflection;
namespace CodeReview.Binary
{
/// <summary>
/// Groups the utility methods that extracts the meta data of a type.
/// </summary>
internal static class Utilities
{
/// <summary>
/// Extracts a field from a type definition.
/// </summary>
/// <param name="type">
/// The reference type.
/// </param>
/// <param name="name">
/// The name of the field.
/// </param>
/// <returns>
/// The meta data of the field or <c>null</c>.
/// </returns>
public static FieldInfo GetField(Type type, string name)
{
return type.GetField(name, Parser.AllDeclaredBindingFlags);
}
}
}
Related examples in the same category
1. | Call GetType() from StringBuilder | | |
2. | Call GetType for int data type | | |
3. | IsGeneric and IsGenericTypeDefinition | | |
4. | demonstrates both the instance and static GetType methods | | |
5. | Generic methods, like nongeneric methods, can be invoked dynamically at run time. | | |
6. | Type.GetGenericArguments and MethodInfo.GetGenericArguments: | | |
7. | Get Generic Type Definition | | |
8. | Query properties of a Type | | |
9. | Deeper Reflection:Listing All the Types in an Assembly | | |
10. | Illustrates runtime type creation | | |
11. | The typeName parameter is a combination of the Assembly and Type names | | |
12. | Call static method GetType from Type to get the Type instance | | |
13. | Use GetCustomAttributes from Type to get custom attributes | | |
14. | Use Type.GetType to check the type of an object | | |
15. | Get object Type Name, UnderlyingSystemType, IsClass | | |
16. | Type.GetConstructors | | |
17. | Use Type.IsClass to check if a type is a class | | |
18. | Print Types | | |
19. | Determining the base classes and interfaces for a class. | | |
20. | Create Object from assembly name and class name | | |
21. | Makes a shallow copy of the object to a different class type (inherits from the original) | | |
22. | Makes a shallow copy of the object | | |
23. | Get all methods from an object | | |
24. | Get Derivation from an object | | |
25. | The full name of the Array type | | |
26. | Change type | | |
27. | Does a given Type have a Default Constructor | | |
28. | Is it a Nullable Type | | |
29. | Is Value Type Unitialized Value | | |
30. | Get Type Unitialized Value | | |
31. | Is Object Unitialized Value | | |
32. | Is it a SubClass for another class | | |
33. | Convert type from initial Value | | |
34. | Returns all assemblies and their properties | | |
35. | Helper to display the "contents" of the Value Object | | |
36. | Get a public field value given its name | | |
37. | Deep Comparison two objects if they are alike. | | |
38. | Set the specified public field value of an object | | |
39. | Determine if a type is cloneable: either a value type or implementing ICloneable. | | |
40. | Provides a simple reflection based mapper to perform a Data Mapping between two types of objects | | |
41. | Represents type declarations: class types, interface types, array types, value types, enumeration types, type parameters, generic type definitions, and open or closed constructed generic types. | | |
42. | Gets the attributes associated with the Type. | | |
43. | Gets the type from which the current Type directly inherits. | | |
44. | Gets a value indicating whether the current Type object has type parameters that have not been replaced by specific types. | | |
45. | Gets the type that declares the current nested type or generic type parameter. | | |
46. | Gets a reference to the default binder. | | |
47. | Represents the member filter used on attributes. | | |
48. | Returns an array of Type objects representing a filtered list of interfaces implemented or inherited by the current Type. | | |
49. | Returns a filtered array of MemberInfo objects of the specified member type. | | |
50. | Gets the number of dimensions in an Array. | | |
51. | Searches for the members defined for the current Type whose DefaultMemberAttribute is set. | | |
52. | Type.GetElementType | | |
53. | Returns a Type object that represents a generic type definition from which the current generic type can be constructed. | | |
54. | Searches for the interface with the specified name. | | |
55. | Get types implementing Dictionary | | |
56. | Returns all the public properties of the current Type. | | |
57. | Type to string | | |
58. | Get Full Type String | | |
59. | Get class members | | |
60. | Reflector | | |
61. | Is Type a primitive type | | |
62. | Find Method With One Parameter Of Type | | |
63. | Determines whether the current type is an implementation of the specified interface. | | |
64. | Returns equality with type conversion | | |
65. | Type loader | | |
66. | Get Friendly Type Name | | |
67. | Recursively gets all generic type params in any given type definition. | | |
68. | Type Manager | | |
69. | Given an anonymous type | | |
70. | Type Normalizer | | |
71. | Run static/Instance method | | |
72. | Get Subclass | | |