我有一个类,使用静态构造函数创建所有属性的静态数组.我还有一个函数 - 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 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#检索值?我已经看过很多需要使用的例子,但是我不确定我是否需要这些元素,如果需要,如何创建它们.
我最近遇到了一个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.关于我可能做错的任何想法?
在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) 假设我在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个不同的问题.
这是一个黑暗中的镜头,如果这个问题听起来像一个疯子的谣言,我会提前道歉.
作为与第三方集成的一部分,我需要使用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请求?
使用VB.NET,将DataTable的单个列转换为CSV的最简洁方法是什么?值是整数,所以我不需要担心字符转义或编码.
有没有办法使用jQuery通过索引获取多个元素 - 比如.eq(),但是你可以传入一个数组而不是一个索引?像这样的东西:
var arrIndexes = [0, 4, 5];
var stuff = $("#datatable tbody tr").eq(arrIndexes).css('background-color', 'red');
Run Code Online (Sandbox Code Playgroud) SQL Server Management Studio 2008中的自动完成功能是错误的,或者我是.无论哪种方式,当我尝试输入并点击空格键时:
SELECT TOP
Run Code Online (Sandbox Code Playgroud)
自动完成立即将其更改为此(主题是我们的某个数据库中的表,顺便说一下):
SELECT Topics
Run Code Online (Sandbox Code Playgroud)
有没有办法解决,或至少优雅地解决这个问题?
我在我正在处理的项目中遇到了一个问题:特定SQL Server 2008表列中的某些字符串值包含Unicode字符.例如,代替短划线,某些字符串将包含EM DASH(http://www.fileformat.info/info/unicode/char/2014/index.htm).
当我向第三方服务器发送HTTP请求时,包含Unicode字符的列值会导致问题.有没有办法查询哪些行包含一个或多个Unicode字符,所以我至少可以开始确定需要修复多少行?
c# ×3
jquery ×2
t-sql ×2
.net ×1
.net-3.5 ×1
app-config ×1
csv ×1
datatable ×1
datetime ×1
encoding ×1
milliseconds ×1
pivot ×1
radio-button ×1
reflection ×1
sql ×1
sql-server ×1
unicode ×1
utf-8 ×1
utf8-decode ×1
vb.net ×1