我遇到的问题是我需要做大约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
任何帮助,将不胜感激.鲍勃.
将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".
我经常看到使用包含外部网站的iframe的网站,以及包含用户JavaScript功能的顶部框架.
例如用户分析软件,Digg吧等......
有关类似试验的任何提示吗?=)真是太棒了
我对基本的正则表达式很好,但是我在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].
考虑以下文件:
-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库会处理什么?
谢谢!
我有一个看起来像这样的哈希:
{ bmw => { id => 1, color => brown } }
{ mercedes => { id => 2, color => black } }
Run Code Online (Sandbox Code Playgroud)
我想在perl中反转这个哈希,这样我就得到了id => name_of_car的映射.我是否需要以某种方式使用反向功能?
注意:我总是可以遍历原始哈希并在新哈希中相应地分配键和值,我想知道是否有一种更流畅的方式.
试图破译一些Excel公式,我看到一些东西,如SUMPRODUCT( - 左(...)...)
什么是 - 做什么?自然地似乎递减给我但是找不到任何关于它的文档.
谢谢.
看图像.我希望中间线是一条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)
我在弄清楚如何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)'的类型参数.尝试显式指定类型参数.
明确指定类型参数的正确方法是什么?