问题列表 - 第31004页

在运行时创建和存储方法链的方法

我遇到的问题是我需要做大约40多次转换才能将松散类型的信息转换为存储在db,xml文件等中的强类型信息.

我打算用元组标记每种类型,即这样的转换形式:

host.name.string:host.dotquad.string
Run Code Online (Sandbox Code Playgroud)

它将提供从输入到输出表单的转换.例如,名称存储在字符串类型的主机字段中,输入转换为字符串类型的dotquad表示法并存储回主机字段.更复杂的转换可能需要几个步骤,每个步骤都是通过方法调用完成的,因此方法链接.

进一步检查上面的例子,元组'host.name.string'的字段主机名为www.domain.com.执行DNS查找以将域名转换为IP地址.应用另一种方法将DNS查找返回的类型更改为string类型的dotquad的内部类型.对于这种转换,有4个单独的方法被称为从一个元组转换为另一个元组.其他一些转换可能需要更多步骤.

理想情况下,我想了解一个在运行时如何构造方法链的小例子.开发时间方法链接相对简单,但需要页面和代码页来覆盖所有可能性,并且需要40多次转换.

我想做的一种方法是,在启动时解析元组,并将链写出到一个程序集,编译它,然后使用反射来加载/访问.它真的很丑陋,否定了我希望获得的性能提升.

我正在使用Mono,所以没有C#4.0

任何帮助,将不胜感激.鲍勃.

chaining c#-2.0

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

如何将WPF大小转换为物理像素?

将WPF(与分辨率无关的)宽度和高度转换为物理屏幕像素的最佳方法是什么?

我在WinForms表单中显示WPF内容(通过ElementHost),并试图找出一些大小调整逻辑.当操作系统以默认的96 dpi运行时,我的工作正常.但是当操作系统设置为120 dpi或其他分辨率时,它将无法工作,因为就WinForms而言,报告其宽度为96的WPF元素实际上将是120像素宽.

我在System.Windows.SystemParameters上找不到任何"每英寸像素数"设置.我确信我可以使用WinForms等效(System.Windows.Forms.SystemInformation),但是有更好的方法吗(阅读:使用WPF API的方式,而不是使用WinForms API并手动进行数学运算)?将WPF"像素"转换为真实屏幕像素的"最佳方法"是什么?

编辑:我也希望在屏幕上显示WPF控件之前执行此操作.看起来像Visual.PointToScreen可以给我正确的答案,但我不能使用它,因为控件还没有父级,我得到InvalidOperationException"这个Visual没有连接到PresentationSource".

wpf dpi elementhost

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

我可以将CSS应用于iframe中的元素吗?

我经常看到使用包含外部网站的iframe的网站,以及包含用户JavaScript功能的顶部框架.

例如用户分析软件,Digg吧等......


有关类似试验的任何提示吗?=)真是太棒了

html javascript css iframe dom

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

使用正则表达式跳过所有字符,直到找到使用负向前瞻的特定字母序列

我对基本的正则表达式很好,但是我在pos/neg的前方/后方有点迷失.

我正试图从中提取id#:

[keyword stuff=otherstuff id=123 morestuff=stuff]

之前或之后可能会有无限量的"东西".我一直在使用The Regex Coach来帮助调试我尝试过的东西,但我不再向前推进......

到目前为止我有这个:

\[keyword (?:id=([0-9]+))?[^\]]*\]
Run Code Online (Sandbox Code Playgroud)

这会在id之后处理任何额外的属性,但我无法弄清楚如何忽略关键字和id之间的所有内容.我知道我不能去,[^id]* 我相信我需要使用像这样的负面预测,(?!id)*但我想因为它是零宽度,它不会从那里向前移动.这也不起作用:

\[keyword[A-z0-9 =]*(?!id)(?:id=([0-9]+))?[^\]]*\]
Run Code Online (Sandbox Code Playgroud)

我一直在寻找各种例子,但没有找到任何例子.或者也许我有,但他们走到了我的脑海,我甚至没有意识到他们是什么.

救命!谢谢.

编辑:它必须匹配[keyword stuff = otherstuff],其中id =根本不存在,所以我必须在id#group上有1或0.还有其他[otherkeywords id = 32]我不想匹配.该文档需要使用preg_match_all在整个文档中匹配多个[keyword id = 3].

php regex negative-lookahead

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

什么C库允许缩放巨大的图像?

考虑以下文件:

-rw-r--r-- 1 user user 470886479 2009-12-15 08:26 the_known_universe.png
Run Code Online (Sandbox Code Playgroud)

如何使用不超过4GB的RAM将图像缩小到合理的分辨率?

例如:

$ convert -scale 7666x3833 the_known_universe.png
Run Code Online (Sandbox Code Playgroud)

C库会处理什么?

谢谢!

c png image-manipulation

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

在perl中反转多值哈希

我有一个看起来像这样的哈希:

{ bmw      => { id => 1, color => brown } }
{ mercedes => { id => 2, color => black } }
Run Code Online (Sandbox Code Playgroud)

我想在perl中反转这个哈希,这样我就得到了id => name_of_car的映射.我是否需要以某种方式使用反向功能?

注意:我总是可以遍历原始哈希并在新哈希中相应地分配键和值,我想知道是否有一种更流畅的方式.

perl

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

什么 - 在Excel中做什么?

试图破译一些Excel公式,我看到一些东西,如SUMPRODUCT( - 左(...)...)

什么是 - 做什么?自然地似乎递减给我但是找不到任何关于它的文档.

谢谢.

excel excel-formula

21
推荐指数
2
解决办法
4万
查看次数

如何在DrawingImage/DrawingContext中绘制无模糊/模糊线?

看图像.我希望中间线是一条1像素的香脆线.您可以将示例标记复制并粘贴到kaxaml中.

alt text http://img832.imageshack.us/img832/1704/lines.png


<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
   <Image SnapsToDevicePixels="True" Stretch="None">
      <Image.Source>
         <DrawingImage>
            <DrawingImage.Drawing>
               <DrawingGroup>
                  <GeometryDrawing>
                     <GeometryDrawing.Pen>
                        <Pen Brush="Red" Thickness="1"/>
                     </GeometryDrawing.Pen>
                     <GeometryDrawing.Geometry>
                        <LineGeometry StartPoint="0,0" EndPoint="50,0"/>
                     </GeometryDrawing.Geometry>
                  </GeometryDrawing>
                  <GeometryDrawing>
                     <GeometryDrawing.Pen>
                        <Pen Brush="Black" Thickness="1"/>
                     </GeometryDrawing.Pen>
                     <GeometryDrawing.Geometry>
                        <LineGeometry StartPoint="0,5.860" EndPoint="50,5.860"/>
                     </GeometryDrawing.Geometry>
                  </GeometryDrawing>
                  <GeometryDrawing>
                     <GeometryDrawing.Pen>
                        <Pen Brush="Black" Thickness="1"/>
                     </GeometryDrawing.Pen>
                     <GeometryDrawing.Geometry>
                        <LineGeometry StartPoint="0,12" EndPoint="50,12"/>
                     </GeometryDrawing.Geometry>
                  </GeometryDrawing>
               </DrawingGroup>
            </DrawingImage.Drawing>
         </DrawingImage>
      </Image.Source>
   </Image>
</Page>
Run Code Online (Sandbox Code Playgroud)

wpf

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

15
推荐指数
3
解决办法
3591
查看次数

如何使用多维数组调用Parallel.ForEach

我在弄清楚如何Parallel.ForEach使用2D数组字符串调用时遇到了一些麻烦:

string[,] board = new string[,]{
        {"A", "B", "C", "D", "E" },
        {"F", "G", "H", "I", "J"},
        {"K", "L", "M", "N", "O"},
        {"0", "1", "2", "3", "4"}};

Parallel.ForEach(board, row =>
    {
        for (int i = 0; i < row.Length; ++i)
        {
            // find all valid sequences
        }
    });
Run Code Online (Sandbox Code Playgroud)

如果我没有明确指定类型,我会收到以下错误:

无法从用法中推断出方法'System.Threading.Tasks.Parallel.ForEach(System.Collections.Generic.IEnumerable,System.Action)'的类型参数.尝试显式指定类型参数.

明确指定类型参数的正确方法是什么?

c# concurrency multithreading parallel-extensions

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