• 项目任务管理(TaskMgr)技术篇


    判定是否为枚举型:type.IsEnum

    应用原型:如果是枚举返回字符型,如果是其他类型直接返回;

    object value = pro1.FieldType.IsEnum ? pro1.GetValue(task).ToString() : pro1.GetValue(task);

     

    设计和属性以及字段

    作为设计,最好统一使用属性(Property),而不是Field,这里存在一个未来统一处理,比如反射统一反射Property获取属性值;不适用field是因为它不够灵活,一旦稍微获取有点逻辑处理,就不能很好的使用统一处理;所以属性更加灵活;

     

    OpenFileDialog的使用

    应用原型:弹出框来选择文件

    if (openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
    {
        this.txtFileName.Text = openFileDialog1.FileName;
    }

     

    MySql的连接使用

    MySql针对Java和.Net都有connector,安装路径是“http://dev.mysql.com/downloads/connector/”,对于C#而言选择“Connector for NET”,安装之后就应该在GAC中注册了该组件,可以在右键“引用”中发现MySql.dll,之后就可以在ADO.NET体系下使用MySql

    public void InsertToMySql(String pSQL)
    {
        MySqlCommand myCommand = null;
    
        using (MySqlConnection conn = new MySqlConnection())
        {
            conn.ConnectionString = ConfigurationManager.ConnectionStrings["mySqlConnStr"].ConnectionString;
            conn.Open();
            myCommand = new MySqlCommand(pSQL, conn);
            int influentCount = myCommand.ExecuteNonQuery();
            conn.Close();
            this.lblInfluenceCount.Text = Convert.ToString(influentCount.ToString());
            MessageBox.Show("OK!");
        }
    }

     

    WinForm程序直接跳出

    在测试类中完美跑完Case,但是在WinForm工程执行到访问EF访问DB,直接跳出去,Form展示;后来发现没有在app文件中配置EF相关信息;不过没有报错,直接跳出有点太直接了。仍然跳出;没有往常调试黄色中断;后来添加try…catch…捕获到了异常

    Could not load file or assembly 'MySql.Data, Version=6.6.5.0…

    解决方案:将MySQL安装路径下MySQLConnector NET 6.7.4AssembliesvX.0的MySql.Data.dll以及MySql.Data.Entity.dll拷贝到bin目录下即可。

    DB结合Entity Framework工作流程

    首先是更新文档(PowerDesigner),如果是数据无所谓,直接通过右键“Preview SQL“进行copySQL文直接在MySql上面运行;

    更新edmx文件,保持和DB同步;

    最后是更新一下对应的业务实体对象(不是数据实体,数据实体交给edmx即可);

    count++和count+1的区别

    pNode.StepNo = this.allNodes.Count + 1;

    一切都正常,但是在上面之前我是这样处理的,爆出异常:

    property or indexer 'System.Collections.Generic.List<Entity.BizWorkflowSequeuece>.Count' cannot be assigned to -- it is read only   

    这两者的区别就在于,前者不会改变count的值,后者是会改变count值的。

    调试抛出异常定位

    Form工程,引入其他工程,如果其他工程发生异常,调试状态下,会直接跳出程序,而不会说停下来,定位到异常处:

    Debug->Exceptions;勾选上Common Language Runtime Exception

    image

  • 相关阅读:
    IP fragmentation
    pci驱动
    cpu地址空间
    CentOS7 安装bazel
    kettle集群
    TextRankGloVe算法资料
    使用Kong Service负载均衡Load Balance功能
    自建ss服务器教程
    OpenSSL创建TLS/SSL证书
    监控告警
  • 原文地址:https://www.cnblogs.com/xiashiwendao/p/3551746.html
Copyright © 2020-2023  润新知