小编Fri*_*Guy的帖子

表中的html表是否有效?

在html中,在表格中有一个表是否有效?

<table>
  <tr>
    <td>
      <table>
        <tr>
          <td></td>
        </tr>
      </table>
    </td>
  </tr>
  <tr></tr>
</table> 
Run Code Online (Sandbox Code Playgroud)

html

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

Url协议处理程序安全警告

我有一个自定义url协议处理程序,用于myhandler:// path/to/something形式的url.这是注册到本地安装的客户端应用程序,它处理请求并执行"正确的操作".

但是,当我在outlook(2007)中找到该表单的链接时,outlook会显示一个可怕的警告:

微软办公室发现了潜在的安全问题

这个位置可能不安全......

超链接可能对您的计算机和数据有害.要保护您的计算机,请仅单击来自可信来源的超链接.

你想继续吗?

我知道outlook注册表项可以让我完全禁用这些警告(http://support.microsoft.com/?kbid=925757),但我不想成为机器上的"坏公民" .

有没有办法让我可以"白名单"我的url协议处理程序,以表明我已经完成了应有的安全勤勉,而没有打开对机器上其他URL协议处理程序的访问权限,这些处理程序可能无法加强恶意用户输入?

Outlook不会提示表单的URL http: https: mailto:(也可能是其他URL ).这个列表是硬编码在办公室深处的某个地方还是有某种方法可以将我的特定协议添加到列表中?

ms-office custom-protocol

12
推荐指数
2
解决办法
7951
查看次数

使用NUnit在不同的appdomain中运行单元测试

我似乎遇到了一个问题,我们正在使用的应用程序使用Ninject内核,并包含一个特定的配置,该配置是使用WCF调用的内容(username,token ...)收集的.

基于特定配置,用户被分配了应用程序的权限,这通过Ninject内核中的特定实例进行屏蔽.

我们不能只重新组合Ninject内核,我们想要做的是运行几个Nunit测试,但是在一个单独的应用程序域中运行它们(每次使用不同的设置重新创建内核).

我只找到了在不同应用领域运行整个测试项目的方法,但没有测试每个测试.

有办法解决这个问题吗?

不幸的是,Ninject配置不在我们这边,我们必须以这种方式"生活".

c# testing nunit unit-testing ninject

11
推荐指数
2
解决办法
7343
查看次数

实现IEqualityComparer时,GetHashCode应该检查null吗?

实现IEqualityComparer<Product>(Product是一个类)时,ReSharper会抱怨下面的空检查始终为false:

public int GetHashCode(Product product)
{
  // Check whether the object is null. 
  if (Object.ReferenceEquals(product, null))
    return 0;

  // ... other stuff ...
}
Run Code Online (Sandbox Code Playgroud)

(来自Enumerable.Except的MSDN VS.9文档的代码示例)

ReSharper可能是错的,但在搜索答案时,我遇到了官方文档,IEqualityComparer<T>其中有一个示例,其中未检查null:

public int GetHashCode(Box bx)
{
    int hCode = bx.Height ^ bx.Length ^ bx.Width;
    return hCode.GetHashCode();
}
Run Code Online (Sandbox Code Playgroud)

此外,该文档GetHashCode()的状态的是ArgumentNullException将被抛出时"类型obj的是引用类型和obj为null".

因此,在实现时IEqualityComparer应该GetHashCode检查null,如果是,那么它应该用null做什么(抛出异常或返回一个值)?

我最感兴趣的是.NET框架官方文档,如果应该检查null,则指定这种或那种方式.

c# hash

9
推荐指数
1
解决办法
2438
查看次数

缩写EE在.NET参考源中的含义是什么?

String该类的.NET参考源中,有各种注释引用称为的EE.

第一个是m_stringLength:

//NOTE NOTE NOTE NOTE
//These fields map directly onto the fields in an EE StringObject.  See object.h for the layout.
//
[NonSerialized]private int  m_stringLength;
Run Code Online (Sandbox Code Playgroud)

它再次被发现.Empty:

// The Empty constant holds the empty string value. It is initialized by the EE during startup.
// It is treated as intrinsic by the JIT as so the static constructor would never run.
// Leaving it uninitialized would confuse debuggers.
//
//We need to …
Run Code Online (Sandbox Code Playgroud)

.net c#

8
推荐指数
1
解决办法
674
查看次数

是否可以在已创建的实例上直接调用构造函数?

我知道,你可以直接调用一个类型的静态构造函数我知道,你可以在不调用构造函数创建一个对象的实例,但有一种方式来运行一个类型(构造.ctor)上已经存在的实例?

我正在寻找类似的东西:

public static void Reinitialize<T>(T instance)
{
  var initializer = typeof(T).GetHiddenConstructorThatDoesntNew(typeof(int), typeof(string));
  // call the constructor (int, string) on instance
  initializer.Invoke(instance, 7, "Bill");
}
Run Code Online (Sandbox Code Playgroud)

我知道我永远不应该真的需要这样做,我更想知道是否有可能在已经创建的对象上重新调用构造函数/初始化程序.

.net c#

8
推荐指数
2
解决办法
796
查看次数

不同的数学CPU会产生相同的浮点结果吗?

我正在开发具有必须在Linux,UNIX和Windows上运行的单元测试的OS便携式软件.

想象一下这个单元测试断言IEEE单精度浮点值1.26743237e + 015f被转换为字符串:

void DataTypeConvertion_Test::TestToFloatWide()
{
    CDataTypeConversion<wchar_t> dataTypeConvertion;
    float val = 1.26743237e+015f;
    wchar_t *valStr = (wchar_t*)dataTypeConvertion.ToFloat(val);
    std::wcout << valStr << std::endl;
    int result = wcscmp(L"1.26743E+015", valStr);
    CPPUNIT_ASSERT_EQUAL(0, result);
    delete [] valStr;
}
Run Code Online (Sandbox Code Playgroud)

我的问题是:只要浮点数是IEEE,所有操作系统和处理器都会将浮点数转换为字符串"1.26743E + 015"吗?我问,因为我知道数学CPU可能无法返回准确的结果,我想知道这是否会在不同的处理器上产生不同的结果,因为它们可能在处理器架构内部具有不同的IEEE浮点运算硬件实现.

c++ floating-point precision floating-accuracy floating-point-conversion

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

可以在静态字段中引用自身的类进行垃圾回收吗?

public class MyClass {
  private static MyClass heldInstance;

  public MyClass() {
    heldInstance = this;
  }
}
Run Code Online (Sandbox Code Playgroud)

假设MyClass的一个实例没有以任何其他方式生根,那么这里的私有静态引用是否会阻止它被垃圾收集?

c# static garbage-collection private

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

为什么lambdas需要=>作为语法的一部分?

我在一本书中遇到了这行代码:

var data = db.Query(sql).OrderByDescending(c => c.DatePosted); 
Run Code Online (Sandbox Code Playgroud)

这种事情似乎跟我追尾......

为什么c => c.必要?以下是不可理解的(编译器,人类更是如此)?

var data = db.Query(sql).OrderByDescending(DatePosted); 
Run Code Online (Sandbox Code Playgroud)

我确信在幕后发生了各种奇特的事情,据称需要这种奇怪的lambda语法,但同样:

为什么?真的有必要吗?编译器不能弄清楚DatePosted是要排序的列吗?

c# lambda

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

如何使用与Unity一起使用log4net?

如何将log4net与Unity3d一起使用,以便日志输出进入编辑器控制台并记录到文件中?Unity似乎无法使用App.config,因此配置需要在代码中完成,但在使用log4net时如何写入Unity控制台?

.net log4net unity-game-engine

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

为什么我的 ipcMain 没有发送到 Electron 中的 ipcRenderer?

电子新手我已经弄清楚如何从Renderer发送到Main,但我正在尝试学习如何从MainRenderer。在我的研究中,我读到:

IPC 从主进程发送到渲染器并尝试:

main.js

const { app, ipcMain, Menu }  = require('electron')
const appVersion = process.env.npm_package_version
const mainWindow = require('./renderer/mainWindow')

app.on('ready', () => {
  mainWindow.createWindow(),
  console.log(`Trying to send app version to renderer: ${appVersion}`),
  mainWindow.webContents.send('app-version', appVersion),  
  Menu.setApplicationMenu(mainMenu)
})
Run Code Online (Sandbox Code Playgroud)

但我收到错误:

未捕获的异常类型错误无法读取未定义的属性“发送”

阅读“从 IpcMain 发送同步消息到 IpcRenderer - Electron ”后,我尝试了:

ipcMain.on('app-version', (event) => {
    console.log(`Sent: ${appVersion}`)
    event.sender.send(appVersion)
}),
Run Code Online (Sandbox Code Playgroud)

但没有任何反应或错误。我的渲染器.js

const { ipcRenderer } = require('electron')
ipcRenderer.on('app-version', (event, res) => {
    console.log(res) …
Run Code Online (Sandbox Code Playgroud)

javascript ipc electron ipcmain ipcrenderer

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

如何将Expression转换为MethodBuilder实例方法?

我试图通过TypeBuilder在运行时生成一个类型.我正在使用MethodBuilder生成该类型的实例方法,但是我不想生成il via IlGenerator.Emit; 相反,我想创建一个表示方法的表达式,所以我可以将它转换为MethodBuilder的实例方法.

这可能吗?如果是这样,我如何将Expression转换为MethodBuilder实例方法?

.net c# lambda dynamically-generated typebuilder

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

替换 Visual Studio 中的所有属性

我有很多cs文件,下一个注释:

[Js(Md.pr, imo = false, tr="csc")]
Run Code Online (Sandbox Code Playgroud)

tr每个cs文件之间更改值的地方。

我想自动删除所有这些注释。因此,当我选择正则表达式功能时,我尝试在 Visual studion 中使用“全部替换”。所以我写道:

find what: [Js*]
replace with ''
Run Code Online (Sandbox Code Playgroud)

它在代码中找到了很多我不想删除的字符。

我该怎么做?

c# visual-studio-2010 visual-studio

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