Paradox Game Engine  v1.0.0 beta06
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros Pages
MemberDescriptorBase.cs
Go to the documentation of this file.
1 // Copyright (c) 2014 Silicon Studio Corp. (http://siliconstudio.co.jp)
2 // This file is distributed under GPL v3. See LICENSE.md for details.
3 using System;
4 using System.Reflection;
5 
6 namespace SiliconStudio.Core.Reflection
7 {
8  /// <summary>
9  /// Base class for <see cref="IMemberDescriptor"/> for a <see cref="MemberInfo"/>
10  /// </summary>
11  public abstract class MemberDescriptorBase : IMemberDescriptor
12  {
13  protected MemberDescriptorBase(ITypeDescriptorFactory factory, MemberInfo memberInfo)
14  {
15  if (factory == null) throw new ArgumentNullException("factory");
16  if (memberInfo == null) throw new ArgumentNullException("memberInfo");
17 
18  Factory = factory;
19  MemberInfo = memberInfo;
20  Name = MemberInfo.Name;
21  DeclaringType = memberInfo.DeclaringType;
22  }
23 
24  public string Name { get; internal set; }
25  public abstract Type Type { get; }
26  public int? Order { get; internal set; }
27 
28  /// <summary>
29  /// Gets the type of the declaring this member.
30  /// </summary>
31  /// <value>The type of the declaring.</value>
32  public Type DeclaringType { get; private set; }
33 
34  public ITypeDescriptor TypeDescriptor { get; internal set; }
35 
36  public ITypeDescriptorFactory Factory { get; private set; }
37  public DataMemberMode Mode { get; internal set; }
38  public abstract object Get(object thisObject);
39  public abstract void Set(object thisObject, object value);
40  public abstract bool HasSet { get; }
41  public DataStyle Style { get; internal set; }
42 
43  /// <summary>
44  /// Gets the member information.
45  /// </summary>
46  /// <value>The member information.</value>
47  public MemberInfo MemberInfo { get; private set; }
48  }
49 }
SharpDX.DirectWrite.Factory Factory
MemberDescriptorBase(ITypeDescriptorFactory factory, MemberInfo memberInfo)
Provides access members of a type.
Base class for IMemberDescriptor for a MemberInfo
A factory to create an instance of a ITypeDescriptor
DataStyle
Specifies the style used for textual serialization when an array/list or a dictionary/map must be ser...
Definition: DataStyle.cs:9