小编Joe*_*l B的帖子

使用反射获取属性的字符串名称

那里有大量的反思例子可以让你得到:

    1.班级中的所有属性

    2.单个属性,前提是您知道字符串名称

有没有办法(使用反射,TypeDescriptor或其他方法)在运行时获取类中属性的字符串名称,前提是我拥有​​的是类和属性的实例?

编辑 我知道我可以使用反射轻松获取类中的所有属性,然后获取每个属性的名称.我要求的是一个函数来给我一个属性的名称,前提是我传递了属性的实例.换句话说,如何从class.GetType().GetProperty(myProperty)中找到PropertyInfo []数组返回给我的属性,以便从中获取PropertyInfo.Name?

c# reflection propertyinfo

46
推荐指数
4
解决办法
6万
查看次数

如何在Matlab中定义结构

我知道可以通过几种方式定义结构,例如:

  1. 将字段添加到变量

    p.color.red = .2;
    p.color.green = .4;
    p.color.blue = .7;
    
    Run Code Online (Sandbox Code Playgroud)
  2. 通过赋值定义标量结构

    S = struct('a',  0, 'b',  1, 'c',  2);
    
    Run Code Online (Sandbox Code Playgroud)

我想要做的是创建一个结构定义(如C).我的最终目标是拥有一系列可以迭代并执行测试的结构.有什么办法可以定义一个通用结构然后创建它的实例吗?我应该使用其他一些机制吗?我知道MATLAB支持Java,我应该使用类/接口吗?

arrays matlab struct data-structures

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

从double转换为int的最佳(最安全)方式

我很好奇将double转换为int的最佳方法.运行时安全是我的主要关注点(它不一定是最快的方法,但这将是我的次要问题).我已经留下了一些我可以在下面提出的选项.任何人都可以权衡哪种是最佳做法?有没有更好的方法来实现这个我没有列出?

        double foo = 1;
        int bar;

        // Option 1
        bool parsed = Int32.TryParse(foo.ToString(), out bar);
        if (parsed)
        {
            //...
        }

        // Option 2
        bar = Convert.ToInt32(foo);

        // Option 3
        if (foo < Int32.MaxValue && foo > Int32.MinValue) { bar = (Int32)foo; }
Run Code Online (Sandbox Code Playgroud)

c# explicit type-conversion tryparse

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

使用LINQ在字节数组中搜索以某个字节开始/停止的所有子数组

我正在处理COM端口应用程序,我们有一个定义的可变长度数据包结构,我正在与微控制器通信.数据包具有开始和停止字节的分隔符.麻烦的是,有时读缓冲区可能包含无关的字符.看起来我总是得到整个数据包,只是在实际数据之前/之后的一些额外的喋喋不休.所以我有一个缓冲区,只要从COM端口收到新数据,我就会附加数据.搜索此缓冲区以查找可能出现的数据包的最佳方法是什么?例如:

说我的数据包分隔符是0xFF,我有一个数组

{ 0x00, 0xFF, 0x02, 0xDA, 0xFF, 0x55, 0xFF, 0x04 }
Run Code Online (Sandbox Code Playgroud)

如何创建一个函数/ LINQ-statment来返回以分隔符开头和结尾的所有子数组(几乎就像带有通配符的滑动相关器)?

该示例将返回以下3个数组:

{0xFF, 0x02, 0xDA, 0xFF}, {0xFF, 0x55, 0xFF}, and
{0xFF, 0x02, 0xDA, 0xFF, 0x55, 0xFF}
Run Code Online (Sandbox Code Playgroud)

c# linq buffer bytearray

11
推荐指数
2
解决办法
9351
查看次数

如何确定用户已单击DataGridView而不是单元格

我想提示用户在点击空白区域时将新元素输入到数据绑定集合中DataGridView.如何确定用户是否在DataGridView(默认为灰色区域)内部点击了,而不是在Column/ Row/ Cell

c# datagridview mouseclick-event winforms

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

报告线程进度的最佳方式

我有一个程序,它使用线程顺序执行耗时的进程.我希望能够监视每个线程的进度,类似于BackgroundWorker.ReportProgress/ ProgressChangedmodel的方式.我不能使用ThreadPoolBackgroundWorker由于我的其他限制.允许/公开此功能的最佳方法是什么.重载Thread该类并添加属性/事件?另一个更优雅的解决方案?

c# multithreading backgroundworker threadpool

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

LINQ在创建返回时是否会增加内存

LINQ实际上是将结果的深层副本执行到不同的列表/数组/等,还是仅仅给我一个列表/数组/等.由原始参考组成?

linq deep-copy shallow-copy

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

检测USB电源状态

Windows可以选择关闭某些外围设备(如USB端口)以节省电量(可以通过设备管理器启用/禁用此行为).断电发生在各种条件下,例如当笔记本电脑的盖子关闭时.这对我来说是一个问题,因为我有一个GUI,它连接到USB端口的硬件,每次关闭笔记本电脑盖时都会切断通信.有没有办法以编程方式检测此事件发生之前的断电(待机?)事件并更优雅地关闭我的USB设备?有没有办法以编程方式配置每个系统的USB端口以禁用此行为?

现在我在看SystemEvents.PowerModeChanged,这是检测到这个的正确事件吗?

c# windows usb standby

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

选择Windows运行时组件与可移植代码库

在Windows Phone 8和Windows 8之间共享代码时,开发人员的两个核心选项是:1)Windows运行时组件和2)门户类库.

Windows运行时组件使用WinRT,可以投影到所有支持的语言中.在不同平台上使用时,它们需要在单独的项目(二进制文件)中链接文件.但是,它们共享90%的可用WinRT API.

可移植类库是BCL的一个子集(有时是重要的子集),它具有跨平台的二进制兼容性.它们可用于WinRT应用程序,也可用于其他项目类型,如Silverlight,Xbox等.

当开发人员选择"共享策略"时,哪种项目类型是在Windows Phone 8和Windows 8之间执行最佳作业共享代码的首选技术?谢谢.

portable-class-library windows-8 windows-runtime windows-phone-8

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

本地包装盒版本控制

是否有可能使用Packer在我的本地机器上完全创建/托管的盒子而不在HashiCorp Atlas上发布?当我这样做时,vagrant box list我会得到以下内容:

vagrant box list
Win8        (virtualbox, 0)
dummy       (aws, 0)
Run Code Online (Sandbox Code Playgroud)

其中显示了最后一列中的框版本.我希望能够在包装过程中更改该号码.他们的文档似乎暗示我只能通过使用他们的Atlas获得此功能:

如果您想支持版本控制,将多个提供商放在一个URL上,推送更新,分析等,我们建议您将该框添加到HashiCorp的Atlas

packer vagrant vagrantfile

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