问题列表 - 第23361页

在以编程方式创建参数块时无法生成ParameterSetMetadata

我正在尝试以编程方式为函数创建一个参数块(沿着这篇博文的内容).

我开始使用CommandMetadata对象(来自现有函数).我可以创建ParameterMetadata对象并设置类似ParameterType,名称以及一些属性的内容.

我遇到的问题是,当我使用ProxyCommand类GetParamBlock方法时,我没有生成我在ParameterMetadata的Attributes集合中设置的任何属性.

这导致的问题是,当调用GetParamBlock时,新参数不会使用适当的Parameter属性进行注释.

例:

function test 
{
    [CmdletBinding()]
    param (
    [Parameter()]
    $InitialParameter)

    Write-Host "I don't matter."
}

$MetaData = New-Object System.Management.Automation.CommandMetaData (get-command test)

$NewParameter = New-Object System.Management.Automation.ParameterMetadata 'NewParameter'

$NewParameter.ParameterType = [string[]]

$Attribute = New-Object System.Management.Automation.ParameterAttribute 
$Attribute.Position = 1
$Attribute.Mandatory = $true
$Attribute.ValueFromPipeline = $true

$NewParameter.Attributes.Add($Attribute)
$MetaData.Parameters.Add('NewParameter', $NewParameter)


[System.Management.Automation.ProxyCommand]::GetParamBlock($MetaData) 
Run Code Online (Sandbox Code Playgroud)

powershell metaprogramming powershell-2.0

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

java/swing:将文本字符串转换为Shape

我想将一些任意文本转换为Shape(java.awt.Shape),然后描绘/填充Shape以绘制它.我怎样才能做到这一点?

java graphics swing text

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

Java socketserver:如何处理许多传入连接?

我正在编写一个简单的多线程socketserver,我想知道如何最好地处理传入的连接:

  1. 为每个新连接创建一个新线程.并发线程数将受到限制,并且通过指定积压来限制等待连接

  2. 将所有传入连接添加到队列中,并拥有一个处理队列的工作线程池

我倾向于选择2,因为我真的不想拒绝任何连接,即使在高负载下也是如此,但我想知道是否有任何考虑我应该注意接受有效的无限连接?

java sockets connection multithreading

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

使用Windows文件对话框时,在奇怪的地方访问冲突

很久以前我发现由于使用了Delphi Open File和/或Save File对话框,我在代码中遇到了访问冲突,这些对话框封装了Windows对话框.我在几个论坛上问了一些问题,我被告知这可能是由于某些程序为shell系统添加钩子导致DLL在每个进程中被注入的方式,其中一些可能会导致程序的破坏.为了记录,我使用的编程环境是在Windows XP 32位上运行的Delphi 6 Professional.

当时我没有使用Delphi的Dialog组件,而是直接调用comdlg32.dll.这很好地解决了这个问题.

今天我第一次使用内存映射文件,果然,访问违规开始出现在代码的奇怪部分.我尝试了我的comdlg32.dll直接调用,这次它没有帮助.为了将问题隔离为测试,我创建了一个列表框,其中包含我在测试期间使用的完全相同的文件.这些是我从"打开文件"对话框中选择的完全相同的测试文件,然后启动我的内存映射文件.我进行了设置,以便通过单击列表框中的文件,我将在我的内存映射文件测试中使用该文件,而不是调用comdlg32.dll对话框函数来选择测试文件.

再一次,访问中提琴消失了.为了向您展示修复它是多么引人注目,我从1到3次试验中遇到访问冲突,到根本没有.不幸的是,当我需要使用文件对话框时,它会在以后咬我.

有没有其他人也处理过这个问题,并找到了真正的罪魁祸首?你有没有找到我可以用来解决这个问题的解决方案而不是像我现在一样在它周围跳舞?

提前致谢.

delphi dialog file access-violation

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

使用脚本处理传入的电子邮件

还记得iwantsandy.com吗?它的功能非常受欢迎.不管怎样,我正在寻找类似的东西,但我的问题是,如何处理传入的电子邮件?让我们假设我使用PHP或者甚至是Ruby来做这件事.我需要一种方法来处理电子邮件并将它们转储到数据库或其他东西.好的,但我的主要问题是在收到电子邮件时启动脚本.

我有一个VPS,所以我可以完全控制我的环境,它正在运行Centos.

php ruby

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

如何将常量传递给Perl子例程?

我有如下:

 use constant ABC => ('one', 'two', 'three');
Run Code Online (Sandbox Code Playgroud)

我想把这个常量传递给variations_with_repetition(\@data, $k)子程序as @data.

我该怎么办?

perl reference constants subroutine

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

VS2010:如何在解决方案资源管理器中删除/隐藏"外部依赖项"文件夹

在VS2010中,他们在所有项目中添加了一个名为"External Dependencies"的虚拟目录:

alt text http://koper.wowpanda.net/externaldeps.PNG

它真的让我感到困扰,特别是因为如果有一个名为"Apple"的普通文件夹和一个名为"Deep"的文件夹,它将位于两者之间,而且在我看来,它给出的信息完全没用.


有没有办法删除或隐藏它?

visual-studio visual-studio-2010-beta-2

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

N层架构 - VB.NET中具有多个项目的结构

我想就以下情况下使用的最佳方法提出一些建议......

我将有一个Windows应用程序和一个Web应用程序(表示层),这些都将访问一个公共业务层.业务层将查看配置文件以查找将在运行时创建引用的dll(数据层)的名称(这是最好的方法吗?).

在运行时为数据访问层创建引用的原因是,应用程序将根据客户端使用的内容与不同的第三方记帐系统进行交互.所以我会有一个单独的数据访问层来支持每个会计系统.这些可能是单独的安装项目,每个客户端将使用其中一个,他们不需要在两者之间切换.

项目:

MyCompany.Common.dll - 包含接口,所有其他项目都引用了这个接口.
MyCompany.Windows.dll - Windows窗体项目,引用MyCompany.Business.dll
MyCompany.Web.dll - 网站项目,引用MyCompany.Business.dll
MyCompany.Busniess.dll - 业务层,引用MyCompany.Data.*(在运行时)
MyCompany.Data.AccountingSys1.dll - 会计系统的数据层1 MyCompany.Data.AccountingSys2.dll - 会计系统的数据层2

项目MyCompany.Common.dll将包含所有接口,每个其他项目都会引用此接口.

Public Interface ICompany
    ReadOnly Property Id() as Integer
    Property Name() as String
    Sub Save()
End Interface

Public Interface ICompanyFactory
    Function CreateCompany() as ICompany
End Interface
Run Code Online (Sandbox Code Playgroud)

项目MyCompany.Data.AccountingSys1.dllMyCompany.Data.AccountingSys2.dll将包含如下所示的类:

Public Class Company
    Implements ICompany

    Protected _id As Integer
    Protected _name As String

    Public ReadOnly Property Id As Integer Implements MyCompany.Common.ICompany.Id
        Get
            Return _id
        End …
Run Code Online (Sandbox Code Playgroud)

vb.net architecture n-tier-architecture

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

在应用服务器的生产中使用 Google Guice 的正确阶段是什么?

这似乎是一个奇怪的问题(显而易见的答案是 Production,废话),但是如果您阅读 java 文档:

/**
  * We want fast startup times at the expense of runtime performance and some up front error
 * checking.
 */
DEVELOPMENT,

/**
 * We want to catch errors as early as possible and take performance hits up front.
 */
PRODUCTION
Run Code Online (Sandbox Code Playgroud)

假设您对应用程序服务器进行无状态调用,初始接收方法(或其他方法)会在每次调用时创建新的注入器。如果在给定的调用中不需要所有模块绑定,那么使用 Development 阶段(这是默认值)而不是预先考虑性能似乎会更好,因为您可能永远不会接受它,这里“前期”和“运行时性能”之间的区别有点没有实际意义,因为它是一个调用。

当然,这样做的缺点似乎是您将丢失错误检查,从而导致潜在的代码路径出人意料地引起问题。

所以问题归结为上述假设是否正确?当注入器的给定生命周期是一次调用时,您会在大量模块上节省性能吗?

java performance guice

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

在C#中lambda表达式/委托是"纯粹的",还是可以?

最近询问了没有副作用的功能程序,并了解了这对于使并行化任务变得微不足道的意义.具体而言,"纯粹"功能使这一点变得微不足道,因为它们没有副作用.

我最近也在研究LINQ和lambda表达式,因为我在StackOverflow上涉及枚举的例子很多次.这让我想知道如果在C#中并行枚举或循环可以"更容易".

lambda表达式"纯粹"是否足以实现平凡的并行化?也许这取决于你在表达中做了什么,但它们能够足够纯粹吗?这样的事情在C#中理论上是可行的/微不足道的吗?:

  • 将循环分解成块
  • 运行一个线程循环遍历每个块
  • 运行一个函数,该函数使用每个线程的当前循环位置的值执行某些操作

例如,假设我在游戏循环中有一堆对象(因为我正在开发一个游戏并且正在考虑多线程的可能性)并且必须每帧都对它们做一些事情,上面的内容是否会微不足道关闭?看看IEnumerable似乎它只跟踪当前位置,所以我不确定我是否可以使用普通的泛型集合来将枚举分解为"块".

抱歉,这个问题.我使用上面的子弹而不是伪代码,因为我甚至不知道如何编写伪代码.我的.NET知识纯粹是简单的业务,我是代表和线程等的新手.我主要想知道上述方法是否适合追求,如果代理人/ lambdas不必担心何时它涉及到它们的并行化.

.net c# lambda functional-programming

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