小编Mat*_*ell的帖子

如何为.NET属性创建委托?

我正在尝试创建一个委托(作为测试):

Public Overridable ReadOnly Property PropertyName() As String
Run Code Online (Sandbox Code Playgroud)

我的直觉尝试是声明代表这样:

Public Delegate Function Test() As String
Run Code Online (Sandbox Code Playgroud)

并实例化如下:

Dim t As Test = AddressOf e.PropertyName
Run Code Online (Sandbox Code Playgroud)

但这会引发错误:

方法'Public Overridable ReadOnly Property PropertyName()As String'没有与委托'Delegate Function Test()As String'兼容的签名.

因为我正在处理一个属性我试过这个:

Public Delegate Property Test() As String
Run Code Online (Sandbox Code Playgroud)

但这会引发编译错误.

所以问题是,我如何为一个财产代表?


看到这个链接:

http://peisker.net/dotnet/propertydelegates.htm

c# vb.net delegates

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

没有<?xml>文本声明的.NET XML序列化

我正在尝试生成这样的XML:

<?xml version="1.0"?>
<!DOCTYPE APIRequest SYSTEM
"https://url">
<APIRequest>
  <Head>
      <Key>123</Key>
  </Head>
  <ObjectClass>
    <Field>Value</Field
  </ObjectClass>
</APIRequest>
Run Code Online (Sandbox Code Playgroud)

我有一个用XMLSerialization属性装饰的类(ObjectClass),如下所示:

[XmlRoot("ObjectClass")]
public class ObjectClass
{
    [XmlElement("Field")]
    public string Field { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

而我真正的hacky直觉思想让我的工作就是在序列化时这样做:

ObjectClass inst = new ObjectClass();
XmlSerializer serializer = new XmlSerializer(inst.GetType(), "");

StringWriter w = new StringWriter();
w.WriteLine(@"<?xml version=""1.0""?>");
w.WriteLine("<!DOCTYPE APIRequest SYSTEM");
w.WriteLine(@"""https://url"">");
w.WriteLine("<APIRequest>");
w.WriteLine("<Head>");
w.WriteLine(@"<Field>Value</Field>");
w.WriteLine(@"</Head>");

XmlSerializerNamespaces ns = new XmlSerializerNamespaces();
ns.Add("", ""); 
serializer.Serialize(w, inst, ns);

w.WriteLine("</APIRequest>");
Run Code Online (Sandbox Code Playgroud)

但是,这会生成如下XML:

<?xml version="1.0"?>
<!DOCTYPE APIRequest SYSTEM
"https://url">
<APIRequest>
  <Head>
      <Key>123</Key>
  </Head>
  <?xml …
Run Code Online (Sandbox Code Playgroud)

.net xml-serialization .net-2.0

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

SQL Server的分组字符串聚合/ LISTAGG

我确信这已经被问到了,但我找不到合适的搜索条件.

给定这样的架构:

| CarMakeID | CarMake
------------------------
|         1 | SuperCars
|         2 | MehCars

| CarMakeID | CarModelID | CarModel
-----------------------------------------
|         1 |          1 | Zoom
|         2 |          1 | Wow
|         3 |          1 | Awesome
|         4 |          2 | Mediocrity
|         5 |          2 | YoureSettling
Run Code Online (Sandbox Code Playgroud)

我想生成这样的数据集:

| CarMakeID | CarMake   | CarModels
---------------------------------------------
|         1 | SuperCars | Zoom, Wow, Awesome
|         2 | MehCars   | Mediocrity, YoureSettling
Run Code Online (Sandbox Code Playgroud)

在以下样式查询中,我该怎么做以代替SQL Server中的字符串'AGG'?

SELECT *, 
 (SELECT …
Run Code Online (Sandbox Code Playgroud)

sql sql-server aggregate-functions

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

领土地图生成

生成区域地图(例如风险)是否存在一种微不足道或至少是中等直接的方式?

我已经看过去了,我能找到的最好的是对Voronoi图的模糊引用.Voronoi图的一个例子是:

这里.

这些有希望,但我想我还没有看到任何直接的渲染方式,更不用说将它们保存在某种形式的数据结构中,将每个领域视为一个对象.

另一种有希望的方法是填充洪水,但我不确定从这种方法开始的最佳方式.

任何建议将不胜感激.

language-agnostic maps voronoi

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

jQuery DataTables - 行点击不在第一页以外的页面上注册

我正在使用DataTables jQuery插件并在行单击上设置单击处理程序,如下所示:

$('#dt tbody tr').click(function () {
        alert('e');
});
Run Code Online (Sandbox Code Playgroud)

这适用于DataTables结果的第一页.

但是,当我移动到另一页结果时,点击处理程序根本不再注册.

我的假设是DataTables代码正在停止click向我的处理程序传播事件,但因为这只发生在第一次看起来不寻常之后的页面上.

因此,有任何人:

  1. 遇到(并且理想地解决)这个问题
  2. 找到一种跟踪jQuery/JS事件传播的好方法,以隔离事件被停止的原因

干杯

javascript jquery events datatables javascript-events

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

'typeof'是如何工作的?

我很好奇C#中typeof的"方法体"是什么样的(非常肯定我不能在反射器中找到它,因为它是关键字而不是方法).

我猜它相当于GetType(魔术转换符号到字符串).

在Reflector中查看GetType(字符串),它调用一个方法"PrivateGetType",它调用"RuntimeTypeHandle.GetTypeByName",而RuntimeTypeHandle似乎有很多类型的逻辑,但GetTypeByName的东西没有显示在Reflector中.

c# types

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

包含div中的表

鉴于此示例(http://jsfiddle.net/A8gHg/,下面的代码),请尝试使窗口变小,以便示例的大小被压缩.

<div style="background-color:blue">
    <table style="width:100%">
        <tr>
            <td>
                <input type="text" style="width:150px"/>
            </td>
            <td>
                <input type="text" style="width:150px"/>
            </td>
            <td>
                <input type="text" style="width:150px"/>
            </td>
            <td>
                <input type="text" style="width:150px"/>
            </td>
            <td>
                <input type="text" style="width:150px"/>
            </td>
        </tr>
    </table>
</div>
Run Code Online (Sandbox Code Playgroud)

您将注意到文本框(正确)不会换行到新行,因为它们位于单个<td>s中.

然而,div由蓝色表示的包含物不会完全包裹桌子.

如何使包含div完全包含孩子table

html css

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

隐藏ASP.NET动态数据中的列

有没有办法将属性应用于ASP.NET动态数据中的模型文件来隐藏列?

例如,我当前可以设置列的显示名称,如下所示:

[DisplayName("Last name")]
public object Last_name { get; set; }
Run Code Online (Sandbox Code Playgroud)

隐藏列有类似的方法吗?

编辑:非常感谢克里斯蒂安·哈格利德(Christian Hagelid)加倍努力并给出了现场答案:-)

asp.net dynamic-data

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

在ASP.NET MVC Preview 4中使用路由引擎进行表单提交

我正在使用ASP.NET MVC Preview 4,并想知道如何使用路由引擎进行表单提交.

例如,我有这样的路线:

routes.MapRoute(
            "TestController-TestAction",
            "TestController.mvc/TestAction/{paramName}",
            new { controller = "TestController", action = "TestAction", id = "TestTopic" }
            );
Run Code Online (Sandbox Code Playgroud)

一个表单声明如下:

<% using (Html.Form("TestController", "TestAction", FormMethod.Get))
   { %>
     <input type="text" name="paramName" />
     <input type="submit" />
<% } %>
Run Code Online (Sandbox Code Playgroud)

它呈现给:

<form method="get" action="/TestController.mvc/TestAction">
  <input type="text" name="paramName" />
  <input type="submit" />
</form>
Run Code Online (Sandbox Code Playgroud)

表单提交的结果URL是:

localhost/TestController.mvc/TestAction?paramName=value
Run Code Online (Sandbox Code Playgroud)

有没有办法让这个表单提交路由到所需的URL:

localhost/TestController.mvc/TestAction/value
Run Code Online (Sandbox Code Playgroud)

我能想到的唯一解决方案是创建一个单独的操作,只检查请求参数,或使用Javascript.

forms asp.net-mvc asp.net-mvc-routing

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

英国英语到美国英语(反之亦然)转换器

有没有人知道将英国英语转换成美式英语的图书馆或代码,反之亦然?

我不认为有太多的差异(想到的一些例子是甜甜圈/甜甜圈,颜色/颜色,灰色/灰色,本地化/本地化)但是能够提供本地化的网站内容会很好.

language-agnostic converter

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