在C#中运行时加载DLL

我想弄清楚如何在C#应用程序的运行时导入和使用.dll。 使用Assembly.LoadFile()我已经设法让我的程序加载dll(这部分是肯定工作,因为我能够得到与ToString())类的名称,但是我无法使用'输出'方法从我的控制台应用程序。 我正在编译.dll,然后将其移到我的控制台的项目。 CreateInstance之间有一个额外的步骤,然后才能够使用方法? 这是我的DLL中的类: namespace DLL { using System; public class Class1 { public void Output(string s) { Console.WriteLine(s); } } } 这里是我想要加载DLL的应用程序 namespace ConsoleApplication1 { using System; using System.Reflection; class Program { static void Main(string[] args) { var DLL = Assembly.LoadFile(@"C:\visual studio 2012\Projects\ConsoleApplication1\ConsoleApplication1\DLL.dll"); foreach(Type type in DLL.GetExportedTypes()) { var c = Activator.CreateInstance(type); c.Output(@"Hello"); […]

R如何用小数秒格式化POSIXct

我相信R不正确地格式POSIXcttypes与小数秒。 我通过R-BUG提交这个作为一个增强请求,并被刷新为“我们认为当前的行为是正确的 – 删除了错误”。 虽然我非常感谢他们已经做的和继续做的工作,但是我想让其他人对这个问题有所了解,也许就如何更有效地说明问题提出build议。 这里是一个例子: > tt <- as.POSIXct('2011-10-11 07:49:36.3') > strftime(tt,'%Y-%m-%d %H:%M:%OS1') [1] "2011-10-11 07:49:36.2" 也就是说,tt被创build为POSIXct时间的小数部分.3秒。 当用十进制数字打印时,显示的数值是.2。 我用毫秒精度的时间标记工作了很多,这使我很头痛,时间往往比实际值低一个档次。 这是发生了什么事情:POSIXct是自纪元以来的浮点数。 所有的整数值都是精确处理的,但是在基数为2的浮点数中,与.3最接近的值比.3略小。 strftime()对格式%OSn的规定行为是向下取整到所要求的十进制数字,所以显示的结果是.2。 对于其他小数部分,浮点值略高于input的值,显示器给出了预期的结果: > tt <- as.POSIXct('2011-10-11 07:49:36.4') > strftime(tt,'%Y-%m-%d %H:%M:%OS1') [1] "2011-10-11 07:49:36.4" 开发者的观点是,对于时间types,我们应该总是舍入到要求的精度。 例如,如果时间是11:59:59.8那么打印格式为%H:%M应该是“11:59”而不是“12:00”, %H:%M:%S应该给“11: 59:59“不是”12:00:00“。 我同意整数秒和格式标志%S ,但我认为这种行为应该是不同的devise为小数部分秒的格式标志。 我希望%OSn在n = 0时使用从最近到最近的行为,而%S使用向下舍入,因此使用格式%H:%M:%OS0打印11:59:59.8会给出“12: 00:00" 。 这不会影响秒数的整数,因为这些总是精确地表示,但它更自然地处理小数秒的舍入误差。 这是如何处理小数部分的打印,例如C,因为整数铸造舍弃: double x = 9.97; printf("%d\n",(int) x); // […]

隐藏terminal上的密码input

我想在使用*写入密码时掩盖我的密码。 我使用Linux GCC代码。 我知道一个解决scheme是像这样使用getch()函数 #include <conio.h> int main() { char c,password[10]; int i; while( (c=getch())!= '\n');{ password[i] = c; printf("*"); i++; } return 1; } 但问题是GCC不包含conio.h文件,所以, getch()对我来说是没用的。 有没有人有解决scheme?

多个列表与IEnumerable.Intersect()交集

我有一个列表,我想find这样的路口: var list1 = new List<int>() { 1, 2, 3 }; var list2 = new List<int>() { 2, 3, 4 }; var list3 = new List<int>() { 3, 4, 5 }; var listOfLists = new List<List<int>>() { list1, list2, list3 }; // expected intersection is List<int>() { 3 }; 有没有办法用IEnumerable.Intersect()做到这一点? 编辑:我应该更清楚这一点:我真的有一个列表的清单,我不知道会有多less,上面的三个列表只是一个例子,我所拥有的实际上是一个IEnumerable<IEnumerable<SomeClass>> 解 感谢所有伟大的答案。 原来有四个选项可以解决这个问题: List […]

实例初始值设定项与构造函数有什么不同?

换句话说,你为什么需要一个实例初始值设定项? 你在编写一个实例初始化程序的时候有什么不同或者有什么优势?

PHP中是否存在$ _SERVER ?

在整个互联网上,即使在Stack Overflow也包括在内,人们认为检查请求是否是AJAX的一个好方法是执行以下操作: if (strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest' ) {…} 但是,在官方的PHP文档中我没有看到$_SERVER['HTTP_X_REQUESTED_WITH'] 而当我试图做到以下几点: echo $_SERVER['HTTP_X_REQUESTED_WITH']; 没有输出。 我做错了什么? 因为如果可用的话,我真的希望能够使用$_SERVER['HTTP_X_REQUESTED_WITH'] 。

使用JavaScript获取滚动条宽度

以下HTML将在div.container的右侧内部边缘显示一个滚动条。 是否有可能确定该滚动条的宽度? <div class="container" style="overflow-y:auto; height:40px;"> <div class="somethingBig"></div> </div>

Java在一个string中replace多个不同的子string(或以最有效的方式)

我需要以最有效的方式replacestring中的许多不同的子string。 有没有另一种方式,然后使用string.replacereplace每个字段的蛮力的方式?

在Java中移动/复制文件操作

有没有一个标准的Java库来处理常见的文件操作,如移动/复制文件/文件夹?

isset()和empty() – 使用什么

可能重复: 为什么要检查isset()和!empty() 你能帮我改进我的编码风格吗?:)在一些任务中,我需要检查 – variables是空的或包含的东西。 为了解决这个任务,我通常做以下的事情。 检查 – 这个variables是否设置? 如果设置 – 我检查 – 它是空的或不是? <?php $var = '23'; if (isset($var)&&!empty($var)){ echo 'not empty'; }else{ echo 'is not set or empty'; } ?> 我有一个问题 – 我应该使用空()之前isset() – 是否有必要? TIA!