小编Kra*_*ime的帖子

C#中的Listview和拖放

我想在两个Listview(AllListView和PreListView)之间使用拖放。这是我得到的结果:

在AllListView中充满Items的函数中,我使用类似的方法将myCustomDataObject关联到单个ListviewItem:

ListViewItem newItem = new ListViewItem();
newItem.Text = myCustomDataObject.getName();
newItem.Tag = myCustomDataObject;
lst_All.Items.Add(newItem);
Run Code Online (Sandbox Code Playgroud)

我有两个列表视图的事件处理程序:

AllListView:

private void OnAllDragEnter(object sender, DragEventArgs e)
{
    e.Effect = DragDropEffects.All;
    // How Do I add my CustomDataObject?
}

private void OnAllItemDrag(object sender, ItemDragEventArgs e)
{
    base.DoDragDrop(lst_All.SelectedItems[0], DragDropEffects.Move);
    // Do I have to Do something to pass my CustomDataObject?
}
Run Code Online (Sandbox Code Playgroud)

PreListView:

private void OnPreDragEnter(object sender, DragEventArgs e)
{
    //If there one of myCustomDataObject go on
    e.Effect = DragDropEffects.Move;
}

private void OnPreDragDrop(object sender, DragEventArgs e) …
Run Code Online (Sandbox Code Playgroud)

c# listview drag-and-drop

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

将DateTime从奇怪格式转换为DateTime对象

通常将DateTime来自string是很容易的,但是我遇到了这个格式:

Mon Jan 05 17:38:34 +1100 2015
Run Code Online (Sandbox Code Playgroud)

这似乎很奇怪,也导致DateTime.Parse()失败.所有的元素都在那里.有没有办法将其转换为DateTime而不进行将string.split(" ")其划分为块.ISO虽然标准超出了我的标准,但它确实看起来像是一个标准.

为了澄清,我希望在将上述示例string转换为使用中的DateTime对象时提供一些帮助,并且如果可能的话,更愿意在不分割字符串的情况下执行此操作..NETC#

(@编辑,为什么你会批准一个编辑,将一个句子暂停改为一个英语不好的连续句子?请为编辑时的epeen停止编辑-.-)

c# vb.net datetime

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

错误CS1109扩展方法必须在顶级静态类中定义; Patterns是一个嵌套类

我想扩展字符串对象并将这些扩展作为嵌套类的一部分,但是直接这样做:

public static class StringExtensions
{
    public static class Patterns
    {
        public static string NumbersOnly(this string s)
        {
            return new String(s.Where(Char.IsDigit).ToArray());
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

...给出了这篇文章标题所述的错误.

我怎么能以不同的方式写这个,这样当我调用它时,可以像这样调用它:

string s = "abcd1234";
s = s.Patterns.NumbersOnly();
Run Code Online (Sandbox Code Playgroud)

我知道我可以NumbersOnly作为直接的孩子移动StringExtensions以使错误消失,但我的意图是将方法组织成具有许多方法的类别.在这个例子中,NumbersOnly只是我打算在那里进行的大约40个模式匹配中的一个,我不希望用以下方法混淆对象的根; PatternNumbersOnly或者NumbersOnly等等.

注意:这个问题是不是这样的问题不同的这一个,因为我没有问为什么这个问题的存在,我要寻找一个解决办法,这样我可以有此错误的原因是否认我的功能或类似的功能.

c# c#-6.0

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

使用反射在异步方法中获取方法名称不会返回预期结果

以下是我编写的一小段代码,用于演示此问题的基础知识.

private async void Form1_Load( object sender, EventArgs e ) {
    var result = await TestAsyncMethodName();
}

private async Task<string> TestAsyncMethodName() {
    string name = "Method: " + System.Reflection.MethodBase.GetCurrentMethod().Name;

    int x = 0;
    foreach ( StackFrame sf in (new StackTrace()).GetFrames()) {
        x++;
        name = name + "\nStack Frame [" + x + "] : " + sf.GetMethod().Name;
    }

    await Task.Run( () => { name = name + "\nAnonymous Method: " + System.Reflection.MethodBase.GetCurrentMethod().Name; } );

    return name;
}
Run Code Online (Sandbox Code Playgroud)

结果

Method: …
Run Code Online (Sandbox Code Playgroud)

c# reflection asynchronous

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

使用时语法错误?在c#(.net 4.6)中的属性名称末尾

我需要做些什么来?在c#中的变量/属性的末尾启用对新(ish)的支持?

以下示例代码段:

using System;
using System.Collections.Generic;
using System.Runtime.Serialization;

[DataContract]
public class Foo {

   [DataMember( Name = "available?" )]
   public bool available? { get; set; }

}
Run Code Online (Sandbox Code Playgroud)

在代码视图中生成以下语法错误:

在此输入图像描述

更多信息

这开始是因为我复制了来自"google.com"A请求的json数据将返回jsonwhois.net/docs上的部分,并使用以下选项将其粘贴到jsonutils.com中:

jsonutils参数

哪个输出一个很好的DataContract,但有些属性使用?null /或限定符,IDE似乎没有注册它们.是否需要添加引用或其他内容?

c#

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

HTML vs HTML5&CSS vs CSS3?

我有一个任务,要求我建立一个网站,我必须在HTML + CSS和HTML5 + CSS3之间做出决定,我不清楚它们的区别是什么,或者哪个更容易.

你能否回答以下问题:

哪个更容易:

  • HTML还是HTML5
  • CSSCSS3

我可以将HTML与CSS结合使用吗?

我可以将HTML5与CSS结合使用吗?

html css html5 css3

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

为什么这会返回0?

也许我已经花了太多的夜晚,但我有以下代码:

MessageBox.Show(
  Convert.ToInt32(
    Math.Round(
      (double)( ( i+1 )/r.Count )*100 ,
      0
    )
  ).ToString()
);
Run Code Online (Sandbox Code Playgroud)

哪个总是返回0,即使i=120000r.Count=150000.这是一个简单的进度计算,其中i是循环中的当前迭代,并且r是集合(List()).

我已经分离了代码,甚至以下仍然返回0:

Convert.ToInt32( 
           Math.Round( 
                      (double)(( 120000+1 )/167428 )*100
                      , 0 )
                )
Run Code Online (Sandbox Code Playgroud)

不知道这里发生了什么,所以任何关于我做错了什么的洞察力(可能是前额扒手).它应该是(使用上面的数字),返回71.

@Habib的旗帜重复:

你声称重复 - 实际上是不同的,即使这里的解决方案不适用,因为这是一个加倍的转换问题,而不是在游戏中为每个变量添加带有额外小数点的'm'.

c# rounding

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

`List()上的`Join()`方法是什么.Join()`用于什么?

我遇到过这个

List().Join()
Run Code Online (Sandbox Code Playgroud)

并且想知道

如何Join()在上面的代码行中(在右侧List使用?

这看起来类似于以下内容:

String.Join()
Run Code Online (Sandbox Code Playgroud)

...但它有一个更复杂的IntelliSense工具提示,如下所示:

复杂的连接()

c# arrays

-6
推荐指数
1
解决办法
839
查看次数