小编Ben*_*jol的帖子

找不到模块`Control.Monad.Reader'

今天当我试图在Geany中编译我的代码时,我遇到了这个错误

Could not find module `Control.Monad.Reader':
  it was found in multiple packages: monads-fd-0.1.0.1 mtl-1.1.0.2
Compilation failed.
Run Code Online (Sandbox Code Playgroud)

我为Writer monad得到了同样的东西; 我以为我应该删除其中一个软件包,但我不想打破其他软件包,所以现在应该怎么做,昨天一切正常,没有任何问题.

haskell

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

使用通用EventHandler <>的事件在Designer中不可见

我刚才注意到,如果我使用通用事件处理程序向我的UserControl添加一个事件,那么当我将用户控件添加到表单时,该事件在设计器中是不可见的.

public event EventHandler<TEventArgs<int>> EventNotVisibleInDesigner;
public event EventHandler EventVisibleInDesigner;
Run Code Online (Sandbox Code Playgroud)

不是特别令人担忧,但这是设计/正常,还是我做错了什么?

events designer visual-studio winforms

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

扩展方法不适用于子类?

显然,扩展方法不适用于子类,还是仅仅是我?

private class Parent
{        
}

private class Child
{
}

public static class Extensions
{
    public static void Method(this Parent parent)
    {
    }
}

//Test code
var p = new Parent();
p.Method();            // <--- compiler like
var c = new Child();
c.Method();            // <--- compiler no like
Run Code Online (Sandbox Code Playgroud)

UPDATE

在这个问题上有一个拼写错误(我要离开,以便其余的有意义) - 我忘了Child继承Parent.

碰巧,我真正的问题是我没有适当的using陈述.

(不幸的是,我无法删除,因为答案太多了.)

.net c# extension-methods

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

如何从 git 中的存储库填充空工作树?

我一定错过了一些东西,因为我已经阅读了所有有关重置、恢复等的文档,但我无法弄清楚如何将索引的内容放入工作树中。(我.git从其他地方复制了该文件夹,只想执行“获取最新”)。

git reset

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

从DataTrigger内部更改样式

正如WPF经常发生的那样,我可能会以错误的方式处理事情,但我有以下情况:

我想根据DataTrigger应用样式,但是你不能在Style中更改Style:

<Button>
   <Button.Style>
      <Style BasedOn="SomeStyle">
         <Style.Triggers>
            <DataTrigger ...>
               <Setter Property="Style" Value="OtherStyle" /> <---- NO CAN DO
Run Code Online (Sandbox Code Playgroud)

逻辑真的,但我想避免的是重复相同的 setter,只是因为我的触发条件改变了:

<Button>
   <Button.Style>
      <Style BasedOn="SomeStyle">
         <Style.Triggers>
            <DataTrigger Binding="{Binding X}" Value="Condition1">
               <Setter Property="A" Value="1" /> 
               <Setter Property="B" Value="1" /> 
               <etc...>
(...)

<Button>
   <Button.Style>
      <Style BasedOn="SomeStyle">
         <Style.Triggers>
            <DataTrigger Binding="{Binding X}" Value="Condition2">
               <Setter Property="A" Value="1" /> 
               <Setter Property="B" Value="1" /> 
               <etc...>
Run Code Online (Sandbox Code Playgroud)

是否还有其他内容可以放置DataTrigger,从而允许我从里面改变样式?或者另一种方式:避免重复样式信息?

wpf xaml

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

如何一般性地删除F#度量单位

我有一些数据操作代码,最后吐出csv.

我开始升级它以在任何地方添加度量单位,但我现在遇到了我的csv函数问题:

val WriteCSV : string -> 'a list array -> 'b list -> string -> unit
Run Code Online (Sandbox Code Playgroud)

(参数是fileName,列数组,列标题,分隔符)

我之前发送[| s; x; y |]到WriteCSV的地方,我现在有一个问题,因为我无法发送[| skm; XMM; 青运|].

我尝试编写一个通常删除度量单位的函数,但它不起作用.

let removeUnit (n:float<_>) = n/1.0<_>
Run Code Online (Sandbox Code Playgroud)

我的问题是:

  • 为什么不起作用?
  • 可以使它工作吗?
  • 有没有其他方法可以解决这个特殊问题?

f# units-of-measurement

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

如何检查Web服务请求期间发送的xml?

有没有办法获得由.net中的SOAP请求生成的原始XML.我不知道如何准确地问这个问题,但是这里有

我添加了web引用并调用了一些方法.有没有办法知道发送什么XML.仅用于调试目的,如此快速和肮脏的方式就足够了

使用PS SSL,因此剪切在这里没有帮助

.net web-services

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

基于谓词将列表拆分为列表列表

(我知道这个问题,但它与序列有关,这不是我的问题)

鉴于此输入(例如):

let testlist = 
    [  
       "*text1";
       "*text2";
       "text3";
       "text4";
       "*text5";
       "*text6";
       "*text7"
    ]

let pred (s:string) = s.StartsWith("*")
Run Code Online (Sandbox Code Playgroud)

我希望能够调用MyFunc pred testlist并获得此输出:

[
    ["*text1";"*text2"];
    ["*text5";"*text6";"*text7"]
]
Run Code Online (Sandbox Code Playgroud)

这是我目前的解决方案,但我真的不喜欢嵌套的List.revs(忽略它需要Seq作为输入的事实)

let shunt pred sq =
    let shunter (prevpick, acc) (pick, a) = 
        match pick, prevpick with
        | (true, true)  -> (true, (a :: (List.hd acc)) :: (List.tl acc))
        | (false, _)    -> (false, acc)
        | (true, _)     -> (true, [a] :: acc)

    sq 
        |> Seq.map (fun a -> (pred …
Run Code Online (Sandbox Code Playgroud)

f#

3
推荐指数
2
解决办法
2308
查看次数

在哪里放置我的xUnit测试用于F#程序集?

我正在研究我的第一个"真正的"F#装配,并试图做正确的事情.

我设法让xUnit工作,但目前我的测试模块在同一个程序集中.这让我感到困扰,因为这意味着我将发布一个程序集,其中近一半的代码(和80%的API)是测试方法.

这样做的"正确"方法是什么?如果我把测试放在另一个组件中,我认为这意味着我必须暴露内部,我宁愿保密.

我知道在C#中有一个测试的朋友机制(如果这是正确的术语),F#中是否存在等价物?

或者,任何人都可以指出我正在"正确"完成这个项目的示例项目吗?

tdd f# projects-and-solutions xunit.net

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

如何以编程方式将xml转换为excel文件

我有一个xml文档,为我的项目保存一个小数据,我想将我的xml转换为excel文件(microsoft office excel 2003及以上版本)

我该如何以编程方式执行此操作?

c# xml

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