小编Mas*_*Net的帖子

使用PropertyInfo.GetValue()

我有一个类,使用静态构造函数创建所有属性的静态数组.我还有一个函数 - GetNamesAndTypes() - 它列出了该数组中每个属性的名称和类型.

现在我想创建另一个实例级函数 - GetNamesAndTypesAndValues() - 它显示类中每个属性的名称和类型,以及该实例的值.我该怎么办?这是我到目前为止编写的代码:

//StaticTest.cs
using System;
using System.ComponentModel;
using System.Globalization;
using System.Reflection;

namespace StaticTest
{
    public class ClassTest
    {
        private string m_A, m_B, m_C;
        private static PropertyInfo[] allClassProperties;

        static ClassTest()
        {
            Type type = typeof(ClassTest);
            allClassProperties = type.GetProperties();

            // Sort properties alphabetically by name 
            // (http://www.csharp-examples.net/reflection-property-names/)
            Array.Sort(allClassProperties, delegate(PropertyInfo p1, PropertyInfo p2)
            {
                return p1.Name.CompareTo(p2.Name);
            });
        }

        public int A
        {
            get { return Convert.ToInt32(m_A); }
            set { m_A = value.ToString(); }
        }

        public …
Run Code Online (Sandbox Code Playgroud)

.net c# reflection

22
推荐指数
1
解决办法
12万
查看次数

使用App.config设置强类型变量

我是运行.NET 3.5的C#新手,我想在App.config中存储一堆应用程序默认值,因为设置可能因服务器环境(例如开发,登台,生产)而异.我想要做的是类似于StackOverflow文章中描述的内容,但我也希望能够使用非字符串值(例如int,bool).像这样的东西(名称值只是例子,顺便说一句):

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <applicationSettings>
        <MyApp>
            <setting name="InitText" serializeAs="String">
                <value>Hello</value>
            </setting>
            <setting name="StartAt" serializeAs="Integer">
                <value>5</value>
            </setting>
            <setting name="IsWeekend" serializeAs="Boolean">
                <value>True</value>
            </setting>
        </MyApp>
    </applicationSettings>
</configuration>
Run Code Online (Sandbox Code Playgroud)

有人可以提供一个如何执行此操作的示例,以及如何通过C#检索值?我已经看过很多需要使用的例子,但是我不确定我是否需要这些元素,如果需要,如何创建它们.

c# app-config configuration-files .net-3.5

20
推荐指数
2
解决办法
5万
查看次数

jQuery:如何获取已检查单选按钮的索引

我最近遇到了一个StackOverflow答案,它给出了如何使用jQuery获取已检查单选按钮的值的优秀指令:

var radioVal = $("#myFormID input:radio[name='radioFieldName']:checked").val();
alert('Selected radio button value = ' + radioVal);
Run Code Online (Sandbox Code Playgroud)

现在我试图找到已检查单选按钮的从零开始的索引.我认为这会相对简单:

var radioIdx = $("#myFormID input:radio[name='radioFieldName']:checked").index();
Run Code Online (Sandbox Code Playgroud)

但是,radioIdx总是返回值-1.关于我可能做错的任何想法?

jquery radio-button

18
推荐指数
2
解决办法
4万
查看次数

SQL Server 2008和毫秒

在SQL Server 2008中,为什么以下查询返回相同的值?

-- These all return 2011-01-01 23:59:59.997
SELECT CAST('2011-01-01 23:59:59.997' as datetime)
SELECT CAST('2011-01-01 23:59:59.998' as datetime)
Run Code Online (Sandbox Code Playgroud)

为什么下面的查询会在第二天进行查询?

-- Returns 2011-01-02 00:00:00.000
SELECT CAST('2011-01-01 23:59:59.999' as datetime)
Run Code Online (Sandbox Code Playgroud)

datetime milliseconds sql-server-2008

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

在SQL Server 2008中使用PIVOT

假设我在SQL Server 2008表或[table] -typed变量中有一些数据:

author_id     review_id     question_id     answer_id
88540         99001         1               719
88540         99001         2               720
88540         99001         3               721
88540         99001         4               722
88540         99001         5               723
36414         24336         1               302
36414         24336         2               303
36414         24336         3               304
36414         24336         4               305
36414         24336         5               306
Run Code Online (Sandbox Code Playgroud)

我想检索数据作为结果集,如下所示:

author_id     review_id     1     2     3     4     5
88540         99001         719   720   721   722   723
36414         24336         302   303   304   305   306
Run Code Online (Sandbox Code Playgroud)

我怀疑PIVOT操作符是我需要的(根据这篇文章,无论如何),但我无法弄清楚如何开始,特别是当表中的question_id行数可以变化时.在上面的示例中,它是5,但在另一个查询中,该表可能会填充7个不同的问题.

sql t-sql sql-server pivot sql-server-2008

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

C#,UTF-8和编码字符

这是一个黑暗中的镜头,如果这个问题听起来像一个疯子的谣言,我会提前道歉.

作为与第三方集成的一部分,我需要使用C#对一些字符串信息进行UTF8编码,以便我可以通过多部分表单将其发送到目标服务器.问题是他们拒绝了我的一些提交,可能是因为我没有正确编码他们的内容.

现在,我正在试图找出一个短划线或连字符 - 我不知道它只是通过观察它是什么 - 被目标服务器接收或解释为?~@~S(是的,这是一个5个字符的字符串并不是你的浏览器出现故障).不幸的是,我没有足够的理解Encoding.UTF8.GetBytes()知道如何使用字节数组来开始识别问题所在.

如果有人可以提供任何提示或建议,我将不胜感激.到目前为止,我唯一的朋友是MSDN,并没有那么多.

更新1:经过一些挖掘后,我发现使用System.Web.HttpUtility.UrlEncode()编码EM DASH字符(" - ")会将其十六进制编码为"%e2%80%94".

我目前正在HttpWebRequest帖子中发送此信息,内容类型为"application/x-www-form-urlencoded" - 这可能导致问题吗?如果是这样,编码一系列名称 - 值对的正确方法是什么,这些名称 - 值对的值可能包含Unicode字符,以便服务器能够理解它需要UTF-8请求?

c# encoding utf-8 character-encoding utf8-decode

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

将DataTable的单个列转换为CSV

使用VB.NET,将DataTable的单个列转换为CSV的最简洁方法是什么?值是整数,所以我不需要担心字符转义或编码.

vb.net csv datatable

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

使用jQuery通过索引获取多个元素

有没有办法使用jQuery通过索引获取多个元素 - 比如.eq(),但是你可以传入一个数组而不是一个索引?像这样的东西:

var arrIndexes = [0, 4, 5];
var stuff = $("#datatable tbody tr").eq(arrIndexes).css('background-color', 'red');
Run Code Online (Sandbox Code Playgroud)

jquery jquery-selectors

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

SQL Server 2008自动完成"TOP"关键字

SQL Server Management Studio 2008中的自动完成功能是错误的,或者我是.无论哪种方式,当我尝试输入并点击空格键时:

SELECT TOP 
Run Code Online (Sandbox Code Playgroud)

自动完成立即将其更改为此(主题是我们的某个数据库中的表,顺便说一下):

SELECT Topics
Run Code Online (Sandbox Code Playgroud)

有没有办法解决,或至少优雅地解决这个问题?

sql-server-2008

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

查询SQL Server 2008表以查找包含Unicode字符的列中的值

我在我正在处理的项目中遇到了一个问题:特定SQL Server 2008表列中的某些字符串值包含Unicode字符.例如,代替短划线,某些字符串将包含EM DASH(http://www.fileformat.info/info/unicode/char/2014/index.htm).

当我向第三方服务器发送HTTP请求时,包含Unicode字符的列值会导致问题.有没有办法查询哪些行包含一个或多个Unicode字符,所以我至少可以开始确定需要修复多少行?

t-sql unicode sql-server-2008

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