小编Lon*_*der的帖子

使用System.Reflection检索const字符串字段列表

我已经用const字符串创建了一类类(显示其中一个),我想要实现它.

public static class HTDB_Cols
{
    public sealed class Assistant
    {
        public const string EntryID  = "entryID",
                CustName  = "custName",
                SerialNum  = "serialNum",
                UserName  = "userName",
                Password  = "password",
                EndDate  = "end_date",
                CustID  = "custID",
                TmpCheck  = "tmpCheck",
                Isfamily  = "isfamily",
                Isserver  = "isserver";
    }
}               

public static class DB
{    
    public static void insert(string TableName)
    {
        ColumnsCollection = typeof(HTDB_Cols).GetNestedTypes().Where(f => f.DeclaringType.Name.ToLower().Equals(TableName.ToLower()));
    } 
}
Run Code Online (Sandbox Code Playgroud)

上面的代码显示了我的尝试,但即使经过大量的试验和错误,我仍然无法做到正确.

我希望将所有列的列表作为const集合数组或列表.

c# system.reflection asp.net-4.0 fieldinfo

2
推荐指数
1
解决办法
2335
查看次数

WebBrowser与WebBrowserBase类

在我引用非.net内置之前(替代方案)

我想知道

内置的.NetClasses可以提供使用:

WebBrowserWebBrowserBase课程

我想知道的是:这两者之间有什么区别?.

正如msdn在后一篇文章中提到的 - WebBrowserBase -

"此API支持.NET Framework基础结构,不能直接在您的代码中使用"

问题始于一个简单的任务:从网站检索文件(datasource xml).声音简单?所以你可以使用任何方法......,最好是最简单和资源最有效的方法.

但是!

场景是:相同的源(单一的可靠)最近阻止了自动流量,使用cookie,因为我可能低于WebClient使用主浏览器的相同资源(在我的情况下是IE9).

....经过我的研究,使用WebBrowser"引擎"作为文件检索器......

将完美地完成工作.

你可以使用任何(不仅仅是微软的IE)

关于我可以访问的其他测试:

http://seleniumhq.org/docs/03_webdriver.html

+

https://code.google.com/p/selenium/downloads/list

c# browser asp.net webbrowser-control iwebbrowser2

2
推荐指数
1
解决办法
1046
查看次数

布尔语法的性能和优雅问题

问题更多的是性能问题而不是优雅,我为自己说话,但......

有两个实现选项,cpu计算速度更快,或者最后它是相同的(我倾向于认为是,因为条件是(x <10)相同)

    public int DidLogcount = 0; // DidLogCount is raised by +1 every time we deside, then condition is met 
    public bool MoreLogsAllowed()
    {
        if (DidLogcount < 10) return true;
        else return false;
    }
Run Code Online (Sandbox Code Playgroud)

VS

    public bool MoreLogsAllowed()
    {
       return DidLogcount < 10;
    }
Run Code Online (Sandbox Code Playgroud)

我们大部分时间都会检查它是否为空,但是,如果我们必须,它将包括两种情况,所以如果我没有错过任何其他问题,我猜我只是缩小它(?).

我会说出正确的答案.谢谢.

Rediting:我只想标记正确答案,但在页面上刷新了3个以上...

等待形成更多选票......而现在,我真的要感谢你们所有人!为了分享你的知识,它确实经过了我的思考,编译器的优化问题,所以...有那些打印输出显示的东西,虽然它的自我很少差别,但当添加到一堆条件,它是少的很少,除非我们谈论一个真正复杂的应用程序,否则我不会说大.我应该说,性能问题永远不是一个小问题,而且由于@Steve和@Nick为我们实际测试它,因此具有逻辑和可读性.

c# logic boolean coding-style c#-4.0

1
推荐指数
1
解决办法
117
查看次数

使用ajax或回发到动作的差异

所以我的问题有点怪异,因为我没有了解它(ajax方法)

我只是重用了遇到的原始功能,对其进行了重命名和测试。

因此,在其他不同情况下(更常见):

一些<asp:TextBox>控件,一个提交按钮。

与C#asp.net PostBack相比,Ajax有什么优势?

这是代码

 function AppsName_AjxUpdt(CurrentColumn, recNumSplited, newValue, TBX, ActionRequest, RecordNum) {
        $.ajax({
            type: 'POST',
            url: 'YourPageNameHere.aspx',
            data: {
                'PostSentByAjax': "true",
                'CurrentColumn': CurrentColumn,
                'recNumSplited': recNumSplited,
                'value': newValue,
                'ActionRequest': ActionRequest
            },
            success: function (data) {
                //alert(data);
                if (type == "UpdateUserID") {
                    TBX.setAttribute(defaultValue, newValue);

                    refreshData();
                }
                if (type == "reason") {
                    window.form1.submit();
                }

                if (type == "delete") {
                    document.getElementById("row_" + rowid).style.display = "none";
                    document.getElementById("totalMins").innerHTML = "<span style='text-decoration:underline;color:#A7C942;cursor:pointer;' onclick='refreshData();'>Refresh Results</span>";
                }
            }
        });
    }
Run Code Online (Sandbox Code Playgroud)

那么,将这种代码行为与绑定<asp:TextBox>到自动回发功能有何不同?我可以说我 …

ajax jquery postback asp.net-4.0 c#-4.0

1
推荐指数
1
解决办法
4428
查看次数

System.Reflection如何工作访问类成员数据/信息?

我被建议不要使用Reflection.我真的很想知道,是因为反射很贵?如果不是,避免使用它的原因是什么?

我当前和未来的项目也可能需要访问任何给定的类 - 成员信息.因为我有时需要列出字段和属性 - 值或声明名称.

所以我想知道的是:

Reflection如何工作?它如何获取信息?(简短的解释会做)

为什么不建议在应用程序中使用反射?如果你需要获得所需信息是一个字段或属性的值或名称,你可以做到这一点使用的System.Reflection?

一些背景.

我当前项目(例如)中的用法是列出特定的sql server表 - 列名称或SQL - 表名称.

我可以想到其他方法让它作为一个回归List<strings>.

如果我真的知道为什么或如何"坏",使用reflection,

..然后我可以做出决定,如果我真的想避免它,因为我可能会找到另一种方法(在这个特定情况下).

通过访问数据库(不是更好),我需要(比方说)表名列表,或者我可以做一次(访问数据),然后将其存储在文本文件或xml中,如果我真的必须避免反射.

我也知道一些更优雅的一个.但这不是问题.(这只是一个例子,因为可能有许多其他用例,你可能知道.)

更新

此问题已结束,请帮助重新打开,并在下面投票'重新开启'

谢谢 .

.net c# reflection class c#-4.0

1
推荐指数
1
解决办法
2437
查看次数

更正SqlConnection声明

问题是我使用了我SqlConnection作为公共静态连接,认为这可能是导致错误时间的问题:

*连接未打开或连接已打开

那么SqlConnection在静态类中使用一个语句是否可以?

所以我只能宣告它一次,我知道我可以使用connectionStringweb.config

ConfigurationManager.ConnectionStrings["conn"].ConnectionString ...
Run Code Online (Sandbox Code Playgroud)

但我喜欢它与web.config设置或服务器名称无关.

  • ReEdit:

因为它确实是同一个类中的两个方法,也是该主类中的另一个类,但这不是重要的,而是对所有执行使用相同的连接!所以你说即使我用我的帮助者类的正确代码编辑,这是错的?

public static class myDBhelper
{
 public static SqlConnection Conn = new SqlConnection ("server=(local);Initial Catalog=dbName;Integrated Security=True");

        public static int ExecSQLint(string TblintSQL)
        {
            int anIntValue=0;
            SqlCommand TblintCMD = new SqlCommand(TblintSQL, Conn);
            try
            {
                Conn.Open();
                anIntValue = Convert.ToInt32(TblintCMD.ExecuteScalar());
            }
            catch (System.Data.SqlClient.SqlException ex)
            {
                throw new Exception("No Can Do: " + ex.Message);
            }
            finally
            {
                Conn.Close();
            }
          return anIntValue;
        }



        public static string ExecSQLstring(string …
Run Code Online (Sandbox Code Playgroud)

c# sqlconnection sql-server-2008

0
推荐指数
1
解决办法
4万
查看次数