问题列表 - 第13590页

如何获取COM对象的类型

我在Visual Studio中引用了一个COM库,因此它为我自动创建了相应的Interop程序集.我想GetType()对这些com对象做一个,但它们总是返回System.__ComObject.查询它们的接口有效:

bool isOfType = someComeObject is ISomeComObject; //this works
Run Code Online (Sandbox Code Playgroud)

但我真正想要的是返回com对象的实际类型:

Type type = someComeObject.GetType(); //returns System.__ComObject :-(
Run Code Online (Sandbox Code Playgroud)

有谁知道怎么做我想做的事情?

.net com reflection interop com-interop

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

Shell/Bash命令获取STDOUT的第n行

是否有任何bash命令可以让你获得STDOUT的第n行?

也就是说,会采取这种做法

$ ls -l
-rw-r--r--@ 1 root  wheel my.txt
-rw-r--r--@ 1 root  wheel files.txt
-rw-r--r--@ 1 root  wheel here.txt
Run Code Online (Sandbox Code Playgroud)

并做一些类似的事情

$ ls -l | magic-command 2
-rw-r--r--@ 1 root  wheel files.txt
Run Code Online (Sandbox Code Playgroud)

我知道在编写要重用的脚本时这是不好的做法,但是当我每天使用shell时,能够以这种方式过滤我的STDOUT对我来说是有用的.

我也意识到这将是半简单的命令写入(缓冲区STDOUT,返回一个特定的行),但我想知道是否有一些标准的 shell命令来执行此操作,而无需我将脚本放到位.

bash shell stdout sed

194
推荐指数
8
解决办法
15万
查看次数

AC预处理器宏将位域打包成一个字节?

我正在进入微控制器黑客攻击,虽然我对按位运算符和硬件说话非常熟悉,但我发现结果代码非常冗长和样板.我的高级程序员希望找到一种有效但有效的方法来清理它.

例如,寄存器中有很多设置标志:

/* Provided by the compiler */
#define SPIE 7
#define SPE 6
#define DORD 5
#define MSTR 5
#define CPOL 4
#define CPHA 3

void init_spi() {
  SPCR = (1 << SPE) | (1 << SPIE) | (1 << MSTR) | (1 << SPI2X);      
}
Run Code Online (Sandbox Code Playgroud)

值得庆幸的是,有些宏隐藏了实际的端口IO操作(左侧),所以它看起来像一个简单的赋值.但对我来说,所有这些语法都是混乱的.

要求是:

  • 它只需要处理多达8位,
  • 位位置必须能够以任何顺序传递,并且
  • 应该只需要传递设置位.

我想要的语法是:

SPCR =位(SPE,SPIE,MSTR,SPI2X);

到目前为止,我提出的最好的是组合宏/函数:

#define bits(...) __pack_bits(__VA_ARGS__, -1)

uint8_t __pack_bits(uint8_t bit, ...) {
    uint8_t result = 0;
    va_list args;
    va_start(args, bit);

    result |= (uint8_t) (1 << bit);

    for …
Run Code Online (Sandbox Code Playgroud)

c macros bit-manipulation c-preprocessor

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

清除List <T>时出现问题

我不知道为什么IndexOutOfRangeException我要清理时间System.Collections.Generic.List<T>.这有意义吗?

List<MyObject> listOfMyObject = new List<MyObject>();
listOfMyObject.Clear(); 
Run Code Online (Sandbox Code Playgroud)

c# data-structures

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

如何阻止NStimer活动?

可能重复:
NSTimer不会停止

在我的应用程序中,我使用NStimer每3秒调用一次动画函数.我想在计时器仍在运行时停止此计时器并调用另一个事件.这可能吗?

iphone objective-c nstimer ios

47
推荐指数
2
解决办法
7万
查看次数

SQL Server布尔表达式评估

我有一张表来存储县评估区的数据.我想添加一个计算列来告诉我该属性是否属于所有者.如果属性地址与所有者地址相同,我将"owner occupied"定义为true,否则为false.

由于来自县的源数据中的数据输入不准确,如果我进行严格的文本比较,我会得到很多虚假的非自住结果.所以我想测试"如果房产的街道名称不在所有者的地址中,或者房产的地址编号不在房主的地址中,那么这是一个非房东占用的房产"

我写了以下内容:

alter table appriasaldata add 
    IsOwnerOccupied as 
     case
        ((charindex(locastreetnumber, owneraddress) = 0) or (charindex(locastreetname, owneraddress) = 0))
        when TRUE THEN 1 ELSE 0
     end

SQL Server不喜欢CHARINDEX函数之后的=符号.我怎样才能将其重写为SQL Server可接受的?(如果重要的话,我正在使用SQL Server 2005.)

sql t-sql sql-server sql-server-2005

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

使用Moq验证事件注册

我正在开发一个尝试使用此示例实现MVP模式的asp.net(经典)应用程序.在尝试对我的演示者进行单元测试并使用以下模式时,psuedocode看起来像这样

//base view interface
public interface IView
{
    event EventHandler Init;

    event EventHandler Load;

    bool IsPostBack { get; }

    void DataBind();

    bool IsValid { get;}
}

//presenter psuedo code
public class SomePresenter
{
     public SomePresenter(ISomeDomainService service, IView someView)
     {
           ...
           //HOW DO WE TEST/VERIFY THAT THIS REGISTRATION OCCURS?
           someView.Init += OnInit;
           someView.Load += OnLoad;
     }
}
...
//consuming code that exercises the above code, that needs to be tested
var presenter = new SomePresenter(someDomainService, someView);
Run Code Online (Sandbox Code Playgroud)

如何验证演示者是否正在执行预期的操作,即注册Init和Load事件?虽然这很容易在Phil Haack …

.net c# asp.net unit-testing moq

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

如何使用.NET控制xml序列化的<?xml?>部分?

我正在使用此方法序列化我的对象:

public static string XmlSerialize(object o)
{
    var stringWriter = new StringWriter();
    var xmlSerializer = new XmlSerializer(o.GetType());
    xmlSerializer.Serialize(stringWriter, o);
    string xml = stringWriter.ToString();
    stringWriter.Close();
    return xml;
}
Run Code Online (Sandbox Code Playgroud)

它使XML像这样开始:

<?xml version="1.0" encoding="utf-16"?>
<MyObject xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
Run Code Online (Sandbox Code Playgroud)

但我希望它看起来像这样:

<?xml version = "1.0" encoding="Windows-1252" standalone="yes"?>
<MyObject xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
Run Code Online (Sandbox Code Playgroud)

那么,如何将编码更改为Windows-1252并设置standalone = yes?另外,如何让对象排除xmlns值?

我见过几个类似的问题,比如这个问题,但是我希望它对我来说可能更简单,也许是通过在某个地方设置一些属性?

更新2:在查看John的回答和评论之后,再考虑这个问题,我决定采用第二种方法.我不认为一次为第三方创建这个古怪的自定义xml应该被称为通用的"XmlSerialize".

所以,我创建了第二个获取XML文档的方法,首先,删除一个名称空间元素,如下所示:

xElement.Attributes().Where(a => a.IsNamespaceDeclaration && a.Value == "http://www.w3.org/2001/XMLSchema").Remove();
Run Code Online (Sandbox Code Playgroud)

然后,它用John的代码将它写入XML.最后它返回xml,遵循以下输出:

new XDeclaration("1.0", "Windows-1252", "yes").ToString()
Run Code Online (Sandbox Code Playgroud)

这很难看,但它让我真正得到了第三方理解我的XML所需要的东西.

.net xml-serialization

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

除了一个之外,在所有方面创建一个CSS3框阴影

我有一个标签式导航栏,我希望打开的标签有一个阴影,使其与其他标签区分开来.我还希望整个标签部分有一个阴影(见底部水平线)向上,阴影除了打开的所有选项卡的底部.

我将使用CSS3的box-shadow属性来做到这一点,但我无法找到一种方法来仅遮蔽我想要的部分.

通常情况下,我会用内容区域(更高z-index)覆盖打开标签的底部阴影,但在这种情况下,内容区域本身会有一个阴影,因此只会覆盖标签.

标签布局

     _______    _______    _______
    |       |  |       |  |       |
____|_______|__|       |__|_______|______

阴影线.

阴影会从水平线向上,在垂直线的外面.

                _______
               |       |
_______________|       |_________________

是一个实例:

那里有任何帮助,天才?

html css shadow css3

111
推荐指数
7
解决办法
9万
查看次数

如何使用Castle.Windsor传递带依赖注入的构造函数参数?

我正在连接我的第一个SubSonic 3应用程序(在ASP.NET MVC 1.0前端),我正在看Rob的SimpleRepository.我正在使用Castle.Windsor作为注入框架.

在我的应用程序启动中,我将Castle配置为将SubSonic SimpleRepository绑定到SubSonic IRepository.没有什么复杂的.但是,SimpleRepository有一个ctor重载,它带有两个值:连接字符串名称和一组SimpleRepositoryOptions.过去没有深入挖掘Castle,不清楚是否有办法通过配置(或其他方法)指定ctor参数.

现在,我有一个SimpleRepository的自定义实现,它在它的无参数ctor中显式创建了一个带有这些参数的SimpleRepository,但是如果我想在任何时候更改它们,它需要更改代码并重新编译.

是否有一种更优雅的方式来配置Castle以获取构造函数参数?

subsonic asp.net-mvc castle-windsor subsonic3

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