小编Gio*_*rgi的帖子

操作栏图标大小

根据操作栏图标的屏幕MDPI动作栏图标应为24×24像素,但在图标的操作栏图标包适用于mdpi是32×32像素.尺寸与其他屏幕尺寸也不匹配.那么哪一个是正确的,动作栏图标应该有哪些尺寸?

icons android actionbarsherlock android-actionbar

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

Dictionary.ContainsKey返回False,但想要True

namespace Dic
{
public class Key
{
    string name;
    public Key(string n) { name = n; }
}

class Program
{
    static string Test()
    {
        Key a = new Key("A");
        Key b = new Key("A");
        System.Collections.Generic.Dictionary<Key, int> d = new System.Collections.Generic.Dictionary<Key, int>();
        d.Add(a, 1);
        return d.ContainsKey(b).ToString();
    }

    static void Main(string[] args)
    {
        System.Console.WriteLine(Test());
    }
}
}
Run Code Online (Sandbox Code Playgroud)

我应该改变什么才能成真?

.net c# dictionary

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

MethodRental Class的实际用法?

根据MSDN MethodRental Class允许更改动态模块的方法体.但是由于它的局限性,我无法想到它的实际用法.谷歌也没有帮助我.

任何想法可以用于什么类?

.net reflection dynamic

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

具有未知类型的CreateDelegate

我正在尝试创建Delegate,用于在运行时读取/写入未知类型类的属性.

我有一个泛型类Main<T>和一个如下所示的方法:

Delegate.CreateDelegate(typeof(Func<T, object>), get)
Run Code Online (Sandbox Code Playgroud)

哪个getMethodInfo应该阅读的属性.问题是当属性返回时int(我猜这种情况发生在值类型中),上面的代码抛出了ArgumentException,因为该方法无法绑定.在字符串的情况下,它运作良好.

为了解决这个问题,我更改了代码,以便使用生成相应的Delegate类型MakeGenericType.所以现在的代码是:

Type func = typeof(Func<,>);
Type generic = func.MakeGenericType(typeof(T), get.ReturnType);
var result = Delegate.CreateDelegate(generic, get)
Run Code Online (Sandbox Code Playgroud)

现在的问题是generic我必须使用创建的委托实例,DynamicInvoke这与使用纯反射来读取字段一样慢.

所以我的问题是为什么第一段代码失败了值类型.根据MSDN,它应该像它说的那样工作

如果方法的返回类型比委托的返回类型更具限制性,则委托的返回类型与方法的返回类型兼容

以及如何在第二个片段中执行委托,以便它比反射更快.

谢谢.

.net c# generics reflection delegates

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

在Android中运行时更改和应用主题

可能重复:
如何在Android中运行时更改当前主题

我有一个Android应用程序,我允许用户在运行时切换主题.切换主题很简单,但在重新创建活动之前不会应用主题.我找到了一种方法将主题应用于当前活动,但如果用户按下后退按钮,之前的屏幕仍然具有旧主题.如何更改这些活动的主题?支持它的应用程序示例:任务免费

android themes android-theme android-activity

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

NUnit与Windows Phone 7

我想用NUnit对我的Windows Phone 7库进行单元测试.

是否有与Windows Phone 7兼容的NUnit版本?

nunit windows-phone-7 unitdriven

8
推荐指数
1
解决办法
2746
查看次数

从命令行禁用 Visual Studio 扩展

是否可以从命令行禁用 Visual Studio 中的特定扩展,而不是手动启动 Visual Studio 并从工具禁用它?

visual-studio visual-studio-extensions

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

使用xml数据合并/填充pdf表单文件

假设我在网站上有一个pdf表单文件,由用户填写并提交给服务器.在服务器端(Asp.Net),我想将我以xml格式接收的数据与填充的空pdf表单合并并保存.

我发现有几种可能的方法:

  1. 使用adobe acrobat创建的pdf表单并用itextsharp填充它.
  2. 使用adobe acrobat创建的pdf表单并填充FDF Toolkit .net(似乎在内部使用itextsharp)
  3. usd pdfkt填写表格.
  4. 使用使用adobe livecycle创建的pdf表单文件,并使用表单数据集成服务合并数据

由于我没有这种任务的经验,你能建议哪个选项会更好/更容易并提供一些额外的提示吗?

先感谢您.

xml pdf asp.net itextsharp livecycle

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

一个Windows安装程序中的32位和64位程序集

我有一个用C#编写的应用程序,它依赖于sqlite托管提供程序.sqlite提供程序是依赖于平台的(有两个dll用于32位和64位具有相同名称的应用程序).应用程序在运行时基于OS加载所需的一个.

问题是,在创建安装程序时,我无法将64位模式dll添加到安装项目中,因为我收到以下错误:文件"'目标''与项目的目标平台不兼容''.

我会使用其他安装程序,但我有一个自定义操作,必须在安装过程中调用.

所以我想知道是否有一个安装程序可以让我添加32位和64位dll并执行用C#编写的自定义操作.

一个可能的解决方案是有两个安装程序,但我想尽可能避免它.

有什么建议?

.net installer 64-bit windows-installer custom-action

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

获取进程路径时访问被拒绝

我试图通过pid获取进程路径,但我得到Win32Exception(访问ID被拒绝).

代码如下所示:

string path = Process.GetProcessById(pid).MainModule.FileName
Run Code Online (Sandbox Code Playgroud)

我已经尝试将OpenProcess与GetModuleFileNameEx一起使用,但OpenProcess返回0.我甚至尝试根据C#启用SeDebugPrivilege - 如何启用SeDebugPrivilege但它没有帮助.

上面的代码适用于大多数进程,但抛出SynTPHelper.exe(Synaptics Pointing Device Helper)的错误.应用程序在与我的代码相同的用户名下运行.两者,我的应用程序和进程都以64位运行.

是否可以在以管理员身份运行我的应用程序的情况下检索路径?

编辑

任务管理器能够"打开文件位置",即使我没有以管理员身份运行它.

c# winapi process access-denied win32exception

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