小编Ada*_*dam的帖子

TypeConverter无法从System.String转换

我正在尝试将字符串转换为其对应的类(即"true" true).我得到"TypeConverter无法从System.String转换".传递的值是"true".

我是以错误的方式调用方法吗?

public static T ToClass<T>(this IDictionary<string, string> source) where T : class, new()
{
    Type type = typeof(T);
    T ret = new T();

    foreach (var keyValue in source)
    {
        type.GetProperty(keyValue.Key).SetValue(ret, keyValue.Value.ToString().TestParse<T>(), null);
}

    return ret;
}

public static T TestParse<T>(this string value)
{
    return (T)TypeDescriptor.GetConverter(typeof(T)).ConvertFromString(value);
}
Run Code Online (Sandbox Code Playgroud)

c# parsing type-conversion

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

使用Kinect进行人脸检测

我想使用Microsoft Kinect进行面部检测,我能够裁剪RGB视频的一部分,并能够在Skeleton View中围绕面部制作一个矩形,但我无法检测到的RGB(正常图像)面对,在WPF中.我怎么能做到这一点?

.net c# wpf face-detection kinect

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

在类和方法之间共享变量

我写了这个,我得到以下错误.有没有简单的方法让变量看到对方?

警告1已分配变量'notepad_running',但从不使用其值.

错误2当前上下文中不存在名称"notepad_running".

错误3当前上下文中不存在名称"notepad_list".

public class notepad_check_class
{
    public static void notepad_check()
    {
        Process [] notepad_list = Process.GetProcessesByName("notepad");
        if (notepad_list.Length > 0)
        {
            int notepad_running = 1;
        }
    }
}

public class kill_notepad_class
{
    public static void kill_notepad()
    {
        notepad_check_class.notepad_check();
        if (notepad_running = 1)
        {
            if (MessageBox.Show("Are you sure you want to kill all notepad processes?", "Question", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
            foreach (Process notepad_process in notepad_list)
            {
                notepad_process.Kill();
            }
            return;
        }
        else
        {
            MessageBox.Show("Cannot find any running process of notepad.", …
Run Code Online (Sandbox Code Playgroud)

c# variables methods class

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

获取两个DateTime实例的差异(以毫秒为单位)

这样做的适当的万无一失的方法是什么?我正在使用ASP.NET MVC 3.

c# asp.net-mvc datetime

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

如何包装函数及其参数......有点像“超级委托”?

我有一段代码,在一段中等复杂的重试和 try/catch 逻辑中执行“文件放置”操作。这工作正常,它看起来大致是这样的:

while (...) {
try {
    FilePut(source, destination)
    }
catch () {
   //Check exception type, possibly re-throw, possibly return, possibly increment
   //counters being checked by while loop
   }
}
Run Code Online (Sandbox Code Playgroud)

这个逻辑的细节不是问题。但我意识到我还有其他几个操作也需要在这种相同类型的逻辑中执行,并且我希望避免在我的应用程序中复制和粘贴此逻辑。我想将其移至一个函数并重用该函数。该函数必须对要调用的操作进行某种引用,并且 try 逻辑将执行该操作(文件放入、文件获取等)。

这对于委托来说似乎是一个好地方,但问题是,每个操作都有不同的签名,所以我不确定如何编写上面的逻辑以便能够调用“任何”操作。

在 C# 中有没有好的方法可以做到这一点?

c# delegates

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

在所有表单上显示MessageBox,设置位置和/或颜色

我有两种形式,我将其中一种形式的TopMost属性设置为true.在某个地方,当程序运行时,我显示一个MessageBox,但由于TopMost设置为true,当MessageBox弹出时,它显示在最顶层的表单下,所以我看不到它.

  1. 有没有什么方法可以让我的一个表单总是在顶部,但是当一个MessageBox弹出时,让消息框显示在该特定表单的顶部?

  2. 是否可以为MessageBox提供一个位置,以便它不显示在中间但例如屏幕上的低位?

  3. 假设我有一个橙色的表单,我可以只为该特定应用程序设置一个粉红色的消息框.我的意思是我不是指播放Windows颜色属性.(我不希望所有消息框都是粉红色的.)

c# messagebox visual-studio-2010

5
推荐指数
4
解决办法
3万
查看次数

我可以在例外中包含一个携带附加信息的对象吗?

我想定义一个自定义异常,我想知道我是否可以包含一个类而不是字符串作为消息.原因是我想在一个更灵活的结构中发送额外的信息.

c# exception

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

必须声明一个正文,因为它没有标记为抽象或外部(CS0501)

我是C#的新手,不知道它的语法.但我对其他语言(Java,C++)有所了解.我下载了GLWidget项目并尝试构建它.但是我在这些行上有一个错误CS0501(带{ get; set; }):

namespace Gtk
{
    [ToolboxItem(true)]
    public class GLWidget : DrawingArea, IDisposable
    {
        IGraphicsContext graphicsContext;
        static int graphicsContextCount;

        /// <summary>Use a single buffer versus a double buffer.</summary>
        [Browsable(true)]
        public bool SingleBuffer { get; set; }

        /// <summary>Color Buffer Bits-Per-Pixel</summary>
        public int ColorBPP { get; set; }

        /// <summary>Accumulation Buffer Bits-Per-Pixel</summary>
        public int AccumulatorBPP { get; set; }

        /// <summary>Depth Buffer Bits-Per-Pixel</summary>
        public int DepthBPP { get; set; }

        /// <summary>Stencil Buffer Bits-Per-Pixel</summary>
        public int …
Run Code Online (Sandbox Code Playgroud)

c# compiler-errors automatic-properties

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

Linq取得了明显的成就

我有查询:

var q = (
    from c in db.tblStoreRecommendations
    where
    itemIDsInCart.Contains(c.ItemID)
    && !itemIDsInCart.Contains(c.RecommendItemID)
    select c
);
Run Code Online (Sandbox Code Playgroud)

它将返回以下内容:

ID    ItemID    RecommendItemID    Message
------------------------------------------
1     25        3                  Msg here
2     26        3                  Something else
3     27        8                  Another message
Run Code Online (Sandbox Code Playgroud)

我需要查询来过滤掉具有相同结果的查询RecommendItemID,这不应该多次出现在返回的结果中.

如果存在两个,它可以使用(随机选择最好).因此返回的结果应该省略记录ID 1或2.

谁能告诉我该怎么做呢?谢谢!

c# linq random distinct

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

在C#应用程序中查找内存泄漏

我在C#,Framework 4中有一个应用程序.基本上,这个应用程序主要响应事件并创建对象,释放它们,创建数据库连接并关闭它们.

现在,我们已经看到应用程序的进程有时以非常奇怪的方式增长.我们有两种不同的行为:

  1. 应用程序一直在增长,直到RAM达到4 GB,通常它"应该"保持在500 MB左右.后果 - >它崩溃了!
  2. 应用程序缓慢增长到1200 MB(30分钟),然后突然缩小到500 MB(一秒钟)......这个过程时不时地重复.这可能是垃圾收集器吗?

现在,为了向我们提供有关应用程序的更多信息,我想在我们的日志文件中添加应用程序进程的大小.是否可以通过本机框架?是否有可能在C#中知道对象的大小?

我也找到了应用程序NetMemoryProfiler4,但我更愿意使用嵌入式日志记录,如果可能的话!

.net c# memory-footprint

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