new操作符创建一个对象时所执行的工作如下:

1。从托管堆(managed heap)中分配指定类型所需要数量的字节作为存储该对象的内存空间。

2。初始化对象的附加成员,每一个对象包含两个附加成员。CLR使用这两个对象来管理对象实例。

   2.1一个是指向该类型方法表的指针。

   2.2一个是用于线程同步控制和垃圾收集的SyncBlockIndex。

3。传入new操作符中指定的参数,调用类型的实例构造函数。

 

 

摘自框架设计!

在此备注。免得忘记。也给不知道的提个醒。

posted @ 2010-05-15 11:51 小权子 阅读(281) 评论(4) 编辑


算法:
简单测试了一下,也不知道对不对。哈哈。

posted @ 2010-05-14 10:19 小权子 阅读(2110) 评论(17) 编辑

一个讲述动态创建Devpress LayoutControl控件的使用例子。

通过代码动态添加 LayoutControlItem ,TabbedControlGroup ,LayoutControlGroup 及具体控件并排版的例子。

private void InitLayoutControl()

        {
            LayoutControlItem lci1 = layoutControlGroup.AddItem();
            DateEdit de = new DateEdit();
            lci1.Control = de;
            lci1.Text = "日期:";


            LayoutControlItem lci3 = layoutControlGroup.AddItem();
            lci3.Move(lci1, InsertType.Right);
            lci3.TextVisible = false;


            LayoutControlItem lci2 = layoutControlGroup.AddItem();
            SimpleButton sb = new SimpleButton();
            sb.Text = "确定";
            lci2.Control = sb;
            lci2.TextVisible = false;
            lci2.Move(lci3, InsertType.Right);

            TabbedControlGroup tcg = layoutControl.Root.AddTabbedGroup();

            LayoutControlGroup lcg1 = tcg.AddTabPage("one");
            LayoutControlItem lci11 = lcg1.AddItem();
            lci11.Control = new TextEdit();
            lci11.Text = "First:";
            lci11.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
            LayoutControlItem lci12 = lcg1.AddItem();
            lci12.Control = new TextEdit();
            lci12.Text = "Second:";
            LayoutControlItem lci13 = lcg1.AddItem();
            lci13.Control = new TextEdit();
            lci13.Text = "Three:";
            lci13.Move(lci12, InsertType.Right);

            LayoutControlGroup lcg2 = tcg.AddTabPage("two");
            LayoutControlItem lci21 = lcg2.AddItem();
            SimpleButton sb21 = new SimpleButton();
            sb21.Text = "Test";
            sb21.Click += new EventHandler(sb21_Click);
            lci21.Control = sb21;

            LayoutControlGroup lcg3 = tcg.AddTabPage("three");
            LayoutControlItem lci31 = lcg3.AddItem();
            MemoEdit me = new MemoEdit();
            me.Dock = DockStyle.Fill;
            lci31.Control = me;
            lci31.Padding = new DevExpress.XtraLayout.Utils.Padding(0);
            lci31.TextVisible = false;


        }

        void sb21_Click(object sender, EventArgs e)
        {
            foreach (Control c in layoutControl.Controls)
            {
                MessageBox.Show(c.GetType().ToString()+":"+ c.Text);
            }
        }

posted @ 2010-02-05 14:59 小权子 阅读(1264) 评论(0) 编辑
VPC的虚拟机拷贝几个文件后突然程序疯狂报错

经常在使用VPC的时候,前面还用的好好的,只不过修改了本地的一个脚本,拷贝到虚拟机里面发现脚本报错,调试跟踪的时候看到根本无法加载脚本文件。

更有令你头皮发麻的,拷贝了的dll文件或者文件夹过去后程序无法登陆,直接崩溃了。

难道是上天在惩罚我吗?怎么可能啊,像我这么花见花开,车见车载,人见人爱的,怎么可能遇到这种情况啊!

难道拷贝的文件有错误,不可能啊,我在本地环境下面部署以后运行一切OK啊,那到底咋回事啊。

突然想起来,前段时间听实施人员说过,有时候将文件拷贝到虚拟机里面的时候,有可能出现权限丢失的问题,导致程序不能运行。

立马动手查看,点击文件,右键属性,查看安全权限,果然,只有三个权限:

1.SYSTEM
2.Administrator(users\Administrator)
3.Administrators(users\Administrators)

nnd,难怪不能运行,真让我长见识啊。

此时问题已经找到了,给文件加上需要的权限,一切ok。

具体需要哪些权限,呵呵?你可以参考该目录其他的文件的权限。

不过为啥只剩下这么几个权限了呢?

仔细想想我复制部署的过程。

原来是我压缩了以后发到邮件里面,别人再解压到本地,此时文件的权限应该是已经变了,只剩下那么三个权限了。

所以当拷贝到虚拟机的时候权限就不够了,不能浏览了。

不过我们的文件的权限都是从文件夹继承的啊。

为什么会没有继承下来呢?

我也不知道暂时。
posted @ 2010-01-19 17:08 小权子 阅读(259) 评论(0) 编辑