小编Mar*_*ade的帖子


泛型类型的静态构造函数如何工作?

public abstract class EventSystemBase<T, K> : IAutoEvent
    where T : Event
    where K : IAutoEvent, new()
{
    public static T Instance { get { return EventSystem.Events.OfType<T>().FirstOrDefault(); } }
    public static IAutoEvent AutoEventInstance { get { return new K(); } }

    static EventSystemBase()
    {
        EventBot.Register(new EventBotEntry(Instance.Name, AutoEventInstance));
    }

    [...]
}
Run Code Online (Sandbox Code Playgroud)

我真的不明白这是如何编译的.

  • 静态构造函数何时运行?
  • 为什么我可以在静态成员中使用泛型类型?
  • 怎么知道应用哪种类型?

c# compiler-construction generics

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

使用Selenium WebDriver从IWebElement获取所有属性

我想用Selenium从DOM中提取一些信息.我正在使用C#WebDriver.

查看IWebElement接口,您可以轻松提取给定属性.但是,我想提取一个元素的所有属性,而不必事先知道它们的名字.

必须有一些简单的方法来执行此操作,因为如果您知道其名称,则有一种获取属性值的方法.

一个例子:

<button id="myButton" ng-click="blabla()" ng-show="showMyButton" 
     some-other-attribute="foo.bar" />



IWebElement element = driver.FindElement(By.Id("myButton"));
Dictionary<string, string> attributes = new Dictionary<string, string>();
// ???????
// Profit.
Run Code Online (Sandbox Code Playgroud)

希望我错过了一些明显的东西.

提前致谢!

c# selenium selenium-webdriver

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

[ADO.NET错误]:数据库'master'中的CREATE DATABASE权限被拒绝.尝试为文件HelloWorld.mdf附加自动命名的数据库失败

数据库"master"中的CREATE DATABASE权限被拒绝.尝试为文件C:\ Documents and Settings\..\App_Data\HelloWorld.mdf附加自动命名的数据库失败.存在具有相同名称的数据库,或者无法打开指定的文件,或者它位于UNC共享上.

我找到了这些链接:

database sql-server ado.net sql-server-express

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

Win32API的任何替代API?

我需要一个可以像Win32API一样制作菜单的API,
但是比WinAPI更简单,更好.
这可以制作GUI,带有文本区域,按钮等......就像一般的Windows程序一样.(Windows GUI样式)
任何人都可以推荐像这样的人吗?谢谢.

api user-interface winapi replace

6
推荐指数
3
解决办法
729
查看次数

您是否将下一代火星探测器的控制API设计为RESTful而不是RPC?

请原谅我,如果这是一个"讨论"问题,但我真的很感激是/否答案,并给予适当的解释.

假设你必须为机器人设计和实现一个控制API,比如下一代Mars Rover.您是根据RESTful原则构建此API,还是使用经典RPC,例如XMLRPC?

我问这个是因为我必须做类似的事情,尽管"机器人"是虚拟机的集合.一位颇有说服力的工程师,一位着名的REST倡导者,正在敦促我使API RESTful.我从来没有使用REST原则,我很难看到它们如何适合设计低级别的进程间API.REST似乎注入了与可修改的数据存储库交互的主题,通常很多跳.我正在尝试做的事情更像是密切控制机器人.我可以看到人们如何争辩机器人,在摘要中,只是一个数据存储库 - "PUT左转","PUT行程100米","GET外温".但这似乎是一个相当人为的模型.我当然不会从缓存或代理中获益("你好,JPL?这是堪培拉的Akamai合作社.我们现在正在接管罗孚,好吗?")

那么,RESTful架构在这里有用吗?即使互动如此狭隘,它仍然优于RPC吗?

api rest rpc robotics ipc

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

使用异步委托或ThreadPool.QueueUserWorkItem进行大规模并行化?

我有一个.NET应用程序,在批量导入中处理大约300,000条记录,每条记录需要几秒钟,所以我想并行化这个.在下面的代码中,ProcessWithAnsycDelegates()和之间有什么区别ProcessWithThreadPool()

public class ResultNotification
 { public EventHandler event Success;
   public EventHandler event Fail;
   internal void Notify(bool sucess) {if (success) Success(); else Fail();}
 }

public static class Processor
 { public ResultNotification ProcessWithAnsycDelegates(Record record)
    { var r = new ResultNotification();
      Func<Record,bool> processRecord=new RecordProcessor().ProcessRecord;
      processRecord.BeginInvoke
                     ( record
                      ,ar => result.Notify(processRecord.EndInvoke(ar))
                      ,null); 
      return r;    
    }

   public ResultNotification ProcessWithThreadPool(Record r)
    { var r  = new ResultNotification();
      var rp = new RecordProcessor();
      ThreadPool.QueueWorkUserItem(_=>result.Notify(rp.ProcessRecord(r)));
      return r;
    }
 }
Run Code Online (Sandbox Code Playgroud)

.net multithreading asynchronous threadpool

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

ESQL是否在工业中使用?

我正在学习数据库课程,我必须编写一个命令行应用程序.教授希望我们编写一个ESQL(嵌入式SQL)应用程序.

我觉得这种技术是折旧的.

我们必须使用oracle预编译器来翻译c ++中的esql代码.这种应用程序看起来很糟糕.

php应用程序也可以正常运行,但是他们可能希望命令行应用程序更快地进行分级(使用输入源进行单元测试).您认为,Embed SQL是业内使用的,是否值得请教教授做一个java应用程序?还有其他技术更合适吗?

database oracle embedded-sql

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

是否可以爆炸数组,以便可以使用params关键字将其元素传递给方法?

以这个非编译代码为例:

public string GetPath(string basefolder, string[] extraFolders)
{
    string version = Versioner.GetBuildAndDotNetVersions();
    string callingModule = StackCrawler.GetCallingModuleName();
    return AppendFolders(basefolder, version, callingModule, extraFolders);
}
private string AppendFolders(params string[] folders)
{
    string outstring = folders[0];
    for (int i = 1; i < folders.Length; i++)
    {
        string fixedPath = folders[i][0] == '\\' ? folders[i].Substring(1) : folders[i];
        Path.Combine(outstring, fixedPath);
    }
    return outstring;
}
Run Code Online (Sandbox Code Playgroud)

这个例子是我正在使用的测试代码的简化版本.请,我只对直接与param关键字有关的解决方案感兴趣.我知道列表和其他类似的东西是如何工作的.

有没有办法"爆炸"extraFolders数组,以便它的内容可以与其他参数一起传递到AppendFolders?

c# parameters params-keyword variadic-functions keyword

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

如何获取Gridview Row值的文本框?

使用C#和Mysql

在我的网页上使用gridview,如果我点击girdview中的列,该值应显示在文本框中.

例如

Griview

Column1 column2 Column3

    1 Raja 9876
    2 Ravi 7890
    3 Ramu 9879
    ...
Run Code Online (Sandbox Code Playgroud)

如果我单击2行,则所有值都应显示在文本框中

Textbox1.text = 2
textbox2.text = Ravi
textbox3.text = 9879
...,
Run Code Online (Sandbox Code Playgroud)

如何为这种情况编写代码.

需要C#代码帮助

c# asp.net gridview

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