Tag: .net 3.5

AutoMapping自定义通用类型 – 如何?

嘿伙计们,我正在使用automapper版本1.1.0.188 在我的AutoMapper.Configure中,我将实体映射到DTO,反之亦然,如下所示: // entity >> DTO Mapper.CreateMap(); Mapper.CreateMap(); // DTO >> Entity Mapper.CreateMap(); Mapper.CreateMap(); 当我做下面的映射(反之亦然)时,一切正常 Mapper.Map(entity); Mapper.Map<List, List>(entities); 请注意,automapper只能与List 一起使用,而无需配置任何内容。 我有一个Generic Container(本例简化): public class Container { public int TotalItems{get;set;} public IList Items{get;set;} } 现在,当我这样做时,没有任何额外的自动配置: Mapper.Map<Container, Container>(entityContainer); 我得到一个automapperexception: 缺少类型映射配置或不支持的mapping.Exception 但是,如果我在特定类型的自动配置中添加此行,如下所示,则Container映射有效。 Mapper.CreateMap<Container, Container>(); 但是,它只适用于Person / PersonDTO类型。 为什么是这样? 如何让automapper识别Container类,因为它识别List ?? 我不想为每种类型的AGAIN显式配置映射。 很酷,干杯

使用带有.net framework 3.5的Google Calendar API V3

我正在使用一个使用.Net 3.5框架的Web应用程序。 它使用Google日历API V1。 在谷歌论坛中搜索时,发现Google日历API V1和V2已弃用,应使用V3。 Google Calendar API V3平台支持是.NET Framework 4和4.5 我们的应用程序应该升级到.NET framework 4还是4.5? 或者是否有任何解决方案在.Net 3.5框架中使用谷歌日历API?

当我为类的字段赋值时,添加与特定字段关联的一些元数据?

我有一堂课,我正在用反思做一些漂亮的事情。 现在, 当我使用reflection为类的字段赋值时,我需要添加一些与特定字段关联的元数据 (我不知道该类是什么)。 我想这样做,没有客户对我的实施知道(必须做他们自己的特殊事情)。 在类中具有指定的“元”字段或对象将起作用,但是不会感觉非常优雅,因为它要求子类做一些“兼容”的事情。 我想动态地将这个元信息附加到现有的类,但仍然允许它被视为与应用程序的其余部分相同的类。 我希望以后能够恢复这个元信息。 类被传入 通过附加元信息的reflection来分配(映射)值 class级归来 *此过程在正常操作和类的对象类型方面应该没有副作用。 对于一般应用,该类应该在之前和之后相同。 应用程序对类进行“正常”工作(分配值,获取值,validation信息等)。 类将在稍后传回 使用值和元信息来执行某些操作 细分到最简单的术语,我基本上在寻找一种方法来“回送”任何类实例上的额外信息,而无需特殊的编译时修改。 我意识到这是一个奇怪的问题,有一些奇怪的约束,但可以做到吗?

C#中的属性或变量

可能重复: 属性与字段:需要帮助掌握属性对字段的使用。 我在课堂上看过属性和变量。 你能告诉我们我们使用哪种情况属性以及我们使用变量的场景。

如何在代码隐藏中将FrameworkElement.Width属性设置为qualifiedDouble的值?

我正在尝试将我的一个控件的width属性设置为qualifiedDouble, 如MSDN上所述 。 (向下滚动到“XAML值”部分,查看MSDN关于使用qualifiedDouble的信息) 但是,我想知道如何在代码隐藏中实现这一点,而不是XAML。 我正在创建的UserControl没有附加XAML,用于inheritance。 所以我必须手动执行所有XAML操作,使用C#中的所有操作。 有谁知道在代码隐藏中如何实现qualifiedDouble?

C#3.5合并2个不同类型的列表

我在C#3.5中有2个通用列表List L1 , List L2 问题: type1有一个名为“key1”的属性,type2有一个名为“key2”的属性如何在key1 = key2上合并L1和L2。 这两个列表都没有排序,但我欢迎任何关于如何根据属性对列表进行排序的想法。 我希望能够将两个列表合并到一个键上。 我知道这不是一本字典,如果是这样的话会很好,但有一个非常具体的原因,为什么它们是我不会接受的列表,因为这是无关紧要的。

C#和.NET 3.5 – 如何使用不同的凭据启动进程,使用隐藏窗口,并能够捕获标准输出和退出代码?

我有一个用C#和.NET 3.5开发的Windows服务,可以在我们的3个域中执行各种管理任务。 我在每个域中都有一个管理员帐户,该帐户对此服务的操作具有必要的权限/权限。 对于所有AD交互,我可以使用域的正确用户名/密码绑定到AD,一切都很好。 但是,我现在需要启动一个外部进程(robocopy)来执行一些工作,我无法在.NET 3.5中找到任何代码示例。 我需要做的是在隐藏窗口中使用备用凭据启动robocopy,捕获标准输出,以便记录实际完成的内容,并捕获退出代码,以便我可以判断它是否成功。 我从K. Scott Allen的博客中找到了一些旧的.NET 1.1代码(请参阅最后几条评论,以获得良好的代码清单),该代码扩展了System.Diagnostics.Process对象并调用了Win32 API函数CreateProcessAsUserW。 但是,由于.NET 2.0中的某些API更改,代码无法运行。 使用reflection引用博客的最后一条评论中的代码片段,当我尝试与进程交互时(使用reflection来杀死它或获取退出代码),它会使用reflection来调用Process对象的私有SetProcessHandle函数,从而导致Access Denied错误。 有没有人有一个如何实现这一目标的好例子? 编辑:内置的.NET Process和ProcessStartInfo API允许您指定备用凭据,但是当您这样做时,它希望创建一个可见窗口(即使您指定CreateNoWindow或WindowStyle Hidden),它在作为Windows服务运行时失败。 因此,这些不适用于此应用程序。 模拟不起作用,因为启动外部进程时,它使用父进程的凭据,而不是模拟凭据。 解决方案:正如Reed在下面指出的那样,使用其中一个Win32 API函数进行P / Invoke可以让你实现这一点。 我最后使用一个名为RunProcess的旧免费软件NT4实用程序 ,它允许您在命令行上指定用户名/密码。 它适用于Vista和2k3,并且在由作为本地系统运行的Windows服务启动时也能正常工作。

使用.Net 3.5中的GetDirectories()识别错误的ReparsePoints?

我正在使用带有Linq语句的Directory.GetDirectories()来遍历文件夹中不是系统文件夹的所有目录,但是我发现文件夹中有一堆坏的ReparsePoints ,这导致该方法需要很长时间因为它在每个坏的重新分析点上超时。 我目前使用的代码如下所示: subdirectories = directory.GetDirectories(“*”, SearchOption.TopDirectoryOnly) .Where(d => ((d.Attributes & FileAttributes.Hidden) != FileAttributes.Hidden) && ((d.Attributes & FileAttributes.System) != FileAttributes.System)); 我也尝试使用这样的代码进行测试,但它也会在坏文件夹中挂起一整分钟左右: foreach (var item in dir.GetDirectories(“*”, SearchOption.TopDirectoryOnly)) { Console.WriteLine(item.Name); Console.WriteLine(item.Attributes); } 应该注意的是,上面的代码在.Net 4.0中工作得很好,但在3.5中,它会在每个坏的重新分析点上挂起一分钟。 尝试在Windows资源管理器中手动打开这些文件夹会导致“找不到网络路径”错误。 是否有另一种方法可以在不使用Attributes属性的文件夹中循环遍历好的子文件夹,或绕过坏的重新分析点? 我已经尝试过使用Directory.Exists() ,这同样很慢。

如何将数据从Windows窗体保存到XML文件?

我非常肯定我必须首先创建一些XML文件的模型,对吧? 任何帮助将不胜感激。

c#MemoryMappedFile in .net 3.5

我需要在.net 3.5中使用MemoryMappedFile类…有没有办法找到.net 4.0中使用的类的代码并创建在.net 3.5中使用? 提前致谢