using System;
using System.Reflection;
using System.Windows.Forms;
public class Class1
{
static void Main(string[] args)
{
Type type = typeof(MyClass);
object o = Activator.CreateInstance(type);
type.InvokeMember("Text", BindingFlags.SetProperty | BindingFlags.Instance | BindingFlags.Public, null, o, new object[] { "Windows Developer Magazine" });
string text = (string)type.InvokeMember("Text", BindingFlags.GetProperty | BindingFlags.Instance | BindingFlags.Public, null, o, new object[] { });
Console.WriteLine(text);
}
private static void OnChanged(object sender, System.EventArgs e)
{
Console.WriteLine(((MyClass)sender).Text);
}
}
public class MyClass
{
private string text;
public string Text
{
get { return text; }
set
{
text = value;
OnChanged();
}
}
private void OnChanged()
{
if (Changed != null)
Changed(this, System.EventArgs.Empty);
}
public event EventHandler Changed;
}
19.1.Type |
| 19.1.1. | Reflection |
| 19.1.2. | type identity |
| 19.1.3. | Commonly used methods defined by Type: |
| 19.1.4. | A second form of GetMethods() lets you specify various flags that filter the methods that are retrieved. |
| 19.1.5. | Obtain type information using the Type.GetType method(Case sensitive, return null if not found). |
| 19.1.6. | Obtain type information using the Type.GetType method(Case sensitive, throw TypeLoadException if not found) |
| 19.1.7. | Obtain type information using the Type.GetType method(Case insensitive, throw TypeLoadException if not found) |
| 19.1.8. | Obtain type information using the Object.GetType method |
| 19.1.9. | Is object a type |
| 19.1.10. | Get BaseType, Name, FullName and Namespace for a type |
| 19.1.11. | Type: FullName, BaseType, IsAbstract, IsCOMObject, IsSealed, IsClass |
| 19.1.12. | Get the Type representation: object |
| 19.1.13. | Obtain the handles: object |
| 19.1.14. | Get all methods from a Type |
| 19.1.15. | Open and constructed generic types |
| 19.1.16. | Getting generic type definition information |
| 19.1.17. | Dynamically constructing types |
| 19.1.18. | Create StringBuilder |
| 19.1.19. | Get Type with typeof |
| 19.1.20. | Cast And OfType |
| 19.1.21. | Get/set property using invoke member |
| 19.1.22. | Retrieve a type by passing a ProgID, specifying whether to throw an exception if the ProgID is invalid. |
| 19.1.23. | Get an array of nested type objects in MyClass |
| 19.1.24. | Get the type associated with the CLSID and specify whether to throw an exception if an error occurs while loading the type. |