如何使用AutoMapper将多个子类映射到一个类?

假设我有三个类是基类的子类: public class BaseClass { public string BaseName { get; set; } } public class Subclass1 : BaseClass { public string SubName1 { get; set; } } public class Subclass2 : BaseClass { public string SubName2 { get; set; } } public class Subclass3 : BaseClass { public string SubName3 { get; set; } } […]

ToList()方法在哪里? (IQueryable的)

如果我试试这个,它会起作用: var query = myContextObject.Users.Where(u=>u.Name == “John”); query.ToList(); 我可以调用ToList和许多其他扩展方法。 但如果我试试这个: public List ConvertQueryToList(IQueryable query) { return query.ToList(); } ToList将无法访问,我猜这是因为ToList是一个扩展方法,但那么在第一个例子中如何附加ToList ? 在第二种情况下是否可以访问ToList ?

在Azure Web App上运行Selenium

我有一个Azure Web应用程序,当我在控制器上调用Action时,我想用它来屏幕抓取网站,就像这样。 var driver = new PhantomJSDriver(); driver.Url = “http://url.com”; driver.Navigate(); var source = driver.PageSource; var pathElement = driver.FindElementByXPath(“//table[@class=’someclassname’]”); string innerHtml = “”; IJavaScriptExecutor js = driver as IJavaScriptExecutor; if (js != null) { innerHtml = (string)js.ExecuteScript(“return arguments[0].innerHTML;”, pathElement); } return innerHtml; 这在本地工作正常,但是当我上传到我的Azure Web App时,我收到此错误 无法在http:// localhost:51169 /上启动驱动程序服务 我认为这与防火墙有关,因为我需要在应用程序第一次运行时在防火墙设置中批准PhantomJS。 我的问题是如何在Azure中部署这个工作? 它是否可能,或者我是否需要将其配置为unit testing并在Visual Studio中运行?

无法使用c#导航到Windows Metro App上的页面

当我的UserLogin页面加载时,我想检查用户数据库,如果它不存在,或者无法读取,我想将它指向NewUser页面。 protected override void OnNavigatedTo(NavigationEventArgs e) { CheckForUser(); if (UserExists == false) this.Frame.Navigate(typeof(NewUser)); } 问题是它永远不会导航到NewUser ,即使我注释掉if条件。

C#检测路径中的文件夹连接

我想快速检查是否在完整路径中使用了连接点。 我已经有一个函数来测试像IsJunction()这样的文件夹,但也许还有另一个解决方案是不在每个子文件夹上调用IsJunction() 。 所以我正在寻找像HasJunctionsInPath(string path)这样的函数而不测试HasJunctionsInPath(string path)每个文件夹。 有什么能做到这一点吗? 编辑: 或更好… 是否可以解析路径中的所有联结以获取文件或文件夹的真实位置? 这将更好地解决我的问题,我仍然可以将结果与原始路径进行比较,以实现bool HasJunctionsInPath(string path)函数。

是否有网站每天通过电子邮件发送C#提示和技巧?

我订阅了www.sqlservercentral.com上的一份我喜欢的时事通讯,因为每天我都会收到一封电子邮件摘要,其中包含一些有趣的标题和SQL Server文章的摘要,这些文章已经在网上发布。 这是一次学习一些新东西的好方法。 C#有这样的东西吗? (如果你最喜欢的一个已经列出,你能投票给我,所以我可以看到最受欢迎的吗?谢谢!)

有没有办法唤醒睡眠线程?

有没有办法在C#中唤醒一个睡眠线程? 那么,让它睡了很长时间并在你想要处理工作时将其唤醒?

如何在viewmodel(.cs)中调用window(.xaml.cs)中的方法而不在wpf中引入新的引用

我正在寻找一种在我的主窗口中调用方法的简单方法,但我想从我的View Model中调用它。 基本上,我正在寻找一些“this.parent”之类的东西放在View Model中引用主窗口。 或者,如果您想查看我想要这样做的原因并告诉我另一种解决我的问题的方法: 我正在使用一个不断获取信息的应用程序。 在viewmodel中,处理信息。 我想在每次出现满足一定资格的信息时发出通知。 最初,我在viewmodel中有一个字典存储了有关该信息的信息,我在MainWindow中访问了该字典,以便我可以使窗口闪烁并发送其他通知。 但是当我在MainWindow中访问它时,我遇到了viewmodel字典不断变化的问题。 对不起,这个问题听起来很愚蠢。 我刚刚在两个月前开始使用WPF,并且在此之前也没有很好的编程背景。

如何使用C#获取char **?

我需要以下列forms将参数传递给不安全的DllImported函数: [DllImport(“third_party.dll”)] private static extern unsafe int start(int argc, char** argv); 我假设它是一个字符串数组。 但是,当我尝试执行以下操作时,我得到’无法从字符串[]转换为char **’错误。 我如何让这个工作? 谢谢。 string[] argv = new string[] { }; start(0, argv); 编辑1:问题被标记为重复,但看着可能重复的问题,我仍然没有看到如何使这个工作。 编辑2:进一步确定问题和所需参数。 它看起来像您的标准argc / argv参数(参数计数,然后是参数值)。 与启动ac程序的方式相同: int main(int argc, char** argv); 对于这个特殊问题,我根本不想传递任何参数(因此count为0)。 编辑3:我从第三方库供应商那里获得了更多信息。 这里是: 第一个参数是参数计数 第二个参数是一个以空字符结尾的字符串数组 字符串是ANSI编码的 编辑4 :使用工作解决方案进行最终编辑(至少在我的情况下)。 我会把它作为答案,但不能,因为这个问题被标记为重复。 这是一个帮助我最多的问题的链接 。 最后,dll函数需要一个指向ANSI字符串缓冲区的指针数组。 所以我的最终方法(基于相关问题)如下。 在内存中创建一个数组来保存指针,然后将每个字符串分配到内存中的其他位置,并在第一个指针数组中写入指向这些字符串的指针。 此代码适用于生产: [DllImport(“third_party.dll”, CallingConvention = CallingConvention.Cdecl, […]

OverrideAuthenticationAttribute的用途是什么?

我在当前的Web API项目中遇到了一个标有System.Web.Http.OverrideAuthenticationAttribute的控制器方法,我很好奇这是为了什么? 在Google和Stackoverflow中搜索无法回答这个问题。 MSDN文档不包含太多信息。 它只说以下内容: 表示filter属性,该属性覆盖在更高级别定义的身份validationfilter。 另外,我已经看了一下来源: public sealed class OverrideAuthenticationAttribute : Attribute, IOverrideFilter, IFilter { public bool AllowMultiple { get { return false; } } public Type FiltersToOverride { get { return typeof(IAuthenticationFilter); } } } 但这并没有带来太多启示。 那么有人可以解释使用OverrideAuthenticationAttribute的目的是什么? 请提供一些用例以便更好地理解。