Tag: .net

如何获取变量的编译时类型?

我正在寻找如何为调试目的获取变量的编译时类型。 测试环境可以简单地再现: object x = “this is actually a string”; Console.WriteLine(x.GetType()); 哪个会输出System.String 。 我怎么能在这里获得编译时类型System.Object ? 我看了一下System.Reflection ,但却失去了它提供的可能性。

itextsharp修剪pdf文档的页面

我有一个pdf文档,其中包含我用c#以编程方式填写的表单字段。 根据三个条件,我需要修剪(删除)该文档中的一些页面。 这可能吗? 条件1:我需要保留第1-4页,但删除第5和第6页 对于条件2:我需要保留1-4页但删除5并保持6 条件3:我需要保留1-5页但删除6

如何在C#中复制文件

我想在C#中将文件从A复制到B. 我怎么做?

Keys.Shift和Keys.ShiftKey之间的区别

在我的应用程序中,我检测何时按下某个键并查看修改器是否为shift键,但Keys枚举器是否具有Shift和ShiftKey。 事件似乎总是发送Keys.Shift,但是有没有使用Keys.ShiftKey的情况? (同样的问题适用于Keys.Control和Keys.ControlKey) 感谢您的任何意见。

如何获取WatiN图像元素的位图?

我有一些文本字段处理和其他元素,但我想得到位图,所以我可以将它保存在磁盘上的某个地方。 如果可能的话,我需要直接从WatiN进行。 我怎样才能做到这一点?

为什么这个方法每次都返回相同的随机字符串?

我需要创建一个独特的块来测试我正在处理的不同项目。 所以我创建了一个简单的程序来生成一个X长度的随机字符串。 问题是如果我调用它一次,我得到一个随机字符串,如果我再次调用它(例如在for循环中)我得到相同的字符串用于循环的整个执行。 我有一种感觉,它被缓存或其他东西,但我不知道.net这样做,我只是在这一点上感到困惑。 调用代码: StreamWriter SW = new StreamWriter(“c:\\test.txt”); int x = 100; while (x >0) { SW.WriteLine(RandomString(20)); x–; } 这是方法: private static string RandomString(int Length) { StringBuilder sb = new StringBuilder(); Random randomNumber = new Random(); for (int i = 0; i <= Length; ++i) { int x = randomNumber.Next(65, 122); sb.Append(Convert.ToChar(x)); } […]

扩展entity framework模型以包含新属性

我是EF的新手,所以如果这是一个菜鸟问题,请原谅。 基本上,我们使用Model First为我们的“平台”项目设置EF模型,并在我们构建在此平台之上的许多应用程序中共享。 在其中一些应用程序中,我们希望扩展类以包含其他属性,而无需更改平台中的模型。 这是否可以使用EF 4,如何在不修改.edmx文件的情况下完成此操作? 我注意到生成的类都是部分的,所以我可以创建一个具有相同名称的新的部分类来包含新属性,但是有没有需要处理的映射? ps在正常情况下我宁愿使用inheritance并创建一个新类来保存新属性而不是再次,我不知道如何用EF做这个…这里的任何启示都将非常感谢! 非常感谢,

.Net中的LDAP目录条目 – 不适用于OU =用户

我有以下代码(C#): (调来自: http ://www.eggheadcafe.com/conversation.aspx?smessidid = 31766061&threadid = 31766050) DirectorySearcher dseSearcher = new DirectorySearcher(); string rootDSE = dseSearcher.SearchRoot.Path; DirectoryEntry rootDE = new DirectoryEntry(rootDSE); string userDSE = rootDSE.Insert(7, “OU=Users,”); DirectoryEntry userDE = new DirectoryEntry(userDSE); rootDSE是正确创建的,但是,如果我尝试使用它,则用户userDSE不可用并抛出“服务器上没有此类对象”exception。 LDAP字符串如下: Root:LDAP:// DC =公司,DC =本地 用户:LDAP:// OU =用户,DC =公司,DC =本地 我作为管理员在Vista上运行,但也需要在XP(管理员)上工作。 我是LDAP和目录管理的新手,所以我在这里黑暗中磕磕绊绊。 有什么想法吗? 此外 – 任何链接的文章,可以让我了解它如何工作将不胜感激。

使用c#获取在其他应用程序的文本框中输入的文本

我整天都在和这件事打架。 我仍然无法找到确切的解决方案。 帮帮我。 我的目标非常简单。 我想获取其他应用程序的文本框中的文本。 它可能是gtalk客户端或soap UI屏幕的文本框。 我用谷歌搜索,大多数论坛建议winapi是我必须用来实现这一目标的概念。 我从未使用过这个概念,也没有得到任何好的例子。 请帮助我解决这个问题,并完成这件事。 有没有其他方法来实现这一目标? 等待你的回复…

异步添加到ObservableCollection(或替代)

这就是我所拥有的 – 一个ListBox,其ItemsSource设置为ObservableCollection – 其中T是我的自定义类,表示一个文件,只包含2个DependencyProperties:Filename和ThumbnailPath。 – 列表框还定义了自定义DataTemplate,以便在其下很好地显示图像和文件名。 列表框的目的是显示当前文件夹中的video文件(在TreeView中选择),缩略图(异步生成;不是此问题的一部分)。 因此,当我更改TreeView中的文件夹时,ObservableCollection将被清除并再次填充,这将自动反映在ListBox项目中。 问题在于:UI变得无法响应,更新需要几秒钟。 同样,缩略图在这里没有意义(我尝试禁用它们)。 我认为花费最多时间的是构建我自定义类的50-100个实例及其可视化表示 – 它必须为每个实例初始化一个Image对象。 但这只是我的猜测 – 你能否确认或排除这种可能性? 我开始认为ObservableCollection可能不是这里的方式 ,因为根据我的阅读和我尝试的内容,没有办法异步添加项目,至少如果这些项目是DependencyObjects。 我尝试使用BackgroundWorker创建我的类实例,并将它们添加到ProgressChanged事件处理程序中的集合中,但它会抛出exception(某些线程与dependencyobjects问题)。 有什么东西我不见了吗? 或者通过简单地抛弃ObservableCollection并编写一个好的旧异步for循环来添加项目,我会更好吗?