ZengCode.Com (The Thai Php Framework)  


Home   Download   Manual   About us    

Facebook   


MAIN MENU
News
Php Tips
Android Programming
Design Pattern By PHP
C# using Linq น่าใช้จริงๆ
C# Tips & Technique
C# Design Pattern
Linux Quick Tips
Java & JavaScript Tips
Database & SQL
ZengCode Framework Guide
Zeng Code Code
Programming
IPhone (Tips and Trick)

Download เอกสารที่น่าสนใจ

     Create Object ตอนรันไทม์ครับ  (2010-03-17)

นี่เป็นวิธีนึงที่สามารถทำได้นะครับ และผมก็ทดลองแล้วว่าทำงานได้จริง

 class SampleClass
    {
        public void Call1(String str)
        {
            MessageBox.Show("Call1 : " + str);
        }//

        public void Call2(String str)
        {
            MessageBox.Show("Call2 : " + str);
        }//

    }////

ต้องการ create object ของ คลาส SampleClass เรียกใช้ Method Call1 ได้ดังนี้ครับ

            Assembly assembly = Assembly.GetExecutingAssembly();
            AssemblyName assemblyName = assembly.GetName();
            Type objType = assembly.GetType(assemblyName.Name + ".SampleClass");
            object obj = Activator.CreateInstance(objType);
            object[] mParam = new object[] { "Chiwa Kantawong" };
            objType.InvokeMember("Call1",
                                                         BindingFlags.InvokeMethod,
                                                         null, obj, mParam);

 และสามารถ casting มาใส่ Object ได้นะครับ เช่น

SampleClass smp = (SampleClass)obj; 
smp.Call1("Pee Pee");

อีกอันประยุกต์ใช้กับ ChildForm ที่เป็น single instance ครับ

private void CreateChildForm(String formName)
        {
            Form[] AllChild = this.MdiChildren;
            Boolean found = false;
            Form foundForm = null;

            foreach (Form childForm in AllChild)
            {
                if (childForm.Name == formName)
                {
                    foundForm = childForm;
                    found = true;
                }
            }
            if (found)
            {
                try
                {
                    foundForm.Focus();
                }
                catch (Exception) { }
            }
            else
            {
                Assembly assembly = Assembly.GetExecutingAssembly();
                AssemblyName assemblyName = assembly.GetName();
                Type objType = assembly.GetType(assemblyName.Name + "." + formName);
                Form  form = (Form) Activator.CreateInstance(objType);
                form.MdiParent = this;
                form.Show();
                form.BringToFront();
            }
        }//

 ยอดเยี่ยมไปเลยใช่ไหมครับ เอาไปประยุกต์ใช้งานกันนะครับ


Comment
Name
Comment
Security CodeCAPTCHA Image

easy tracking
avis car rental discount code

This page took 0.307402 seconds to load.