小编lep*_*pie的帖子

当从列表中"加载"时,Scheme函数不起作用

所以我试图只将函数列表的第一个函数应用于参数列表.我注意到这会起作用:

    (apply + '(1 2))
Run Code Online (Sandbox Code Playgroud)

但如果我尝试应用这样的添加功能,它将无法工作:

    (apply (car '(+ -)) '(1 2))
Run Code Online (Sandbox Code Playgroud)

知道为什么吗?不(车'(+ - ))返回+?实际上,这就是我在错误消息中得到的:

    application: not a procedure;
    expected a procedure that can be applied to arguments
    given: +
    arguments.:
Run Code Online (Sandbox Code Playgroud)

我觉得这个问题的答案可能非常简单,我会觉得很愚蠢,但我一直试图添加并取出括号一段时间,但我仍然没有得到它......请帮忙!提前致谢!

scheme

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

错误的类型适用?

我一直在使用Scheme约10分钟,偶然发现了这个错误:

scheme@(guile-user) [2]> (define (a one two) ((* one two)))
scheme@(guile-user) [2]> (a 2 3)
ERROR: In procedure 6:
ERROR: Wrong type to apply: 6
Run Code Online (Sandbox Code Playgroud)

我期待这回到6.如何"申请"进入这个?这个错误是什么意思?

scheme

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

创建一个消息框,用户可以选择“不再显示”。

将一个群发信使和一个多消息/垃圾邮件发送者合二为一,效果很好,只是想让它变得更好。显然,我必须编写代码才能让 Skype 允许该程序,以便它可以做它所做的事情,这里是,

    private void Form1_Load(object sender, EventArgs e)
    {
        //I entered a message box so it doesn't crash instantly.
        MessageBox.Show("Please allow SkypeBot.vshost.exe to access skype. (Look at your Skype application)");
        Skype skype = new Skype();
        skype.Attach();
        getContacts(skype);
    }
Run Code Online (Sandbox Code Playgroud)

如果用户过去已经允许它,我怎样才能让它停止显示 MessageBox 并直接加载表单(因为它在您允许一次后不再要求允许它)

这是它的样子,如果有人想知道,出于某种原因; http://imgur.com/f0aaiZN,工作正常,只是想改进它,以便对上述请求的任何回答表示赞赏:D

c# winforms

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

在没有t4代码生成器的情况下创建实体框架(如vs 2010)

我想使用VS 2015基于数据库创建实体框架模型.

有一些问题:

1)当我想创建模型时,我收到此警告:

在此输入图像描述

2)当我创建模式时,一些文件生成像T4.

在此输入图像描述

3)生成的类没有数据注释,如:

[EdmEntityTypeAttribute(NamespaceName="SomeModel", Name="tblCode1")]
[Serializable()]
[DataContractAttribute(IsReference=true)]
Run Code Online (Sandbox Code Playgroud)

4)在我们的小组中,有些人拥有VS 2013或2010,他们不能使用这种类型的模型.

如何使用VS 2015创建模型,如VS 2010或2013而不使用T4(仅下面的2个文件)

在此输入图像描述

c# entity-framework

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

如何在 Acumatica 中使用允许编辑

我遇到这个问题:

我想尝试使用 弹出CrossSection表格页面,铅笔符号已经显示,但它没有打开任何内容,我已经进入隐藏在 中的AllowEdit = "true"页面。我错过了任何使用步骤吗?我该如何使用?CrossSectionSiteMapAllowEditAllowEdit

c# erp acumatica

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

是否可以通过输入类型重载泛型方法?

简而言之,我希望有一些方法可以实现这种API风格:

Repo repo = new Repo();
List<Car> cars = repo.All<Car>();
List<Truck> trucks = repo.All<Truck>();
Run Code Online (Sandbox Code Playgroud)

我有一个Repo从数据库中检索对象的对象.目前它的工作原理如下:

Repo repo = new Repo();
List<Car> cars = repo.Cars.All();
List<Truck> trucks = repo.Trucks.All();
Run Code Online (Sandbox Code Playgroud)

Repo课程在哪里:

class Repo {
    List<Car> Cars = new CarRepo();
    List<Truck> Trucks = new TruckRepo();
}
Run Code Online (Sandbox Code Playgroud)

哪里CarRepoTruckRepo每个包含:

interface IRepo<T> {
    List<T> All();
}

class CarRepo : IRepo<Car> {
    List<Car> All() => new List<Car>() { };
}
// Same for TruckRepo
Run Code Online (Sandbox Code Playgroud)

不幸的是,如果我想在这个模式中添加一个新的车辆集合,我需要在该Repo对象上创建一个新的列表.在这个人为的例子中,这没什么大不了的,但是Repo在具有许多子回购的应用程序中,这个对象可能会变得非常大.我宁愿拥有的是直接的Repo …

.net c#

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

System.IO 找不到通过 subst-command 生成的路径

语境:

  • 系统有一个硬盘和一个驱动器(“C:\”)
  • 所需路径位于 F:\eventlogging

我做了什么:

  • 我执行了 subst cmd 以生成 F:\ 驱动器(来自 C:\)

  • 添加了目录“eventlogging”

问题:

  • 在代码中,有一些部分写入 F:\eventlogging 内的文件
  • 抛出异常:System.IO.DirectoryNotFoundException:System.IO.DirectoryNotFoundException:找不到路径“F:\ eventlogging \”的一部分..

我尝试过的:

  • 在资源管理器中输入路径(转到路径)
  • 在 cmd 中 cd 到此路径也有效

附加信息:

  • 代码无法更改(许多项目的共同基础)

.net c#

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

使用Console.ReadKey读取Unicode

是否可以向控制台应用程序提供Unicode输入,并通过Console.ReadKey()读取Unicode字符串/字符串?

我知道Unicode在通过其他方法读取输入时起作用,但不幸的是我需要使用ReadKey提供的"拦截"功能.

更新:

将U + 03BB(λ)等Unicode字符粘贴到控制台时,会读取3个键.

  1. Alt + NumPad1
  2. Alt + NumPad1
  3. Alt + NumPad8

我试图看看这是否是某种编码,但看不到任何东西.

.net console.readkey

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

迭代一个数组

迭代虽然数组不是问题,但是如果我只想在调用方法时才增加?

我甚至不确定这是否会起作用,但有更简单的方法可以做到这一点

    int counter;
    string[] myArray = {"foo", "bar", "something", "else", "here"};

    private string GetNext()
    {
        string myValue = string.Empty;

        if (counter < myArray.Length) {
            myValue = myArray [counter];
        } else {
            counter = 0;
        }

        counter++;

        return myValue;
    }
Run Code Online (Sandbox Code Playgroud)

c# arrays loops

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

实体框架4 - 代码优先和存储过程

我想用一个参数执行存储过程,该参数使用EF4"Code First"返回表.我只是为了这个目的而使用一些DTO,它不需要返回实体.我试过:

a)使用函数import创建edmx文件并将其添加到我的ObjectContext,如下所示:

protected override void OnModelCreating(ModelBuilder modelBuilder)
{
    modelBuilder.RegisterEdmx("Model.edmx");
}
Run Code Online (Sandbox Code Playgroud)

但是我InvalidOperationException说"在使用Fluent API进行代码优先配置后,无法使用现有模型的注册".

b)访问underling连接并执行以下过程:

    var connection = this.objectContext.UnderlyingContext.Connection;
    connection.Open();
    DbCommand command = connection.CreateCommand();
    command.CommandType = CommandType.StoredProcedure;
    command.CommandText = "booklog.Recommendations";
    command.Parameters.Add(
        new EntityParameter("userId", DbType.Guid) { Value = this.userId });
    var reader = command.ExecuteReader();
    // etc.
Run Code Online (Sandbox Code Playgroud)

哪里

public class MyObjectContext : DbContext
{
    public System.Data.Objects.ObjectContext UnderlyingContext
    {
        get { return this.ObjectContext; }
    }

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

但这种方法不起作用.它抛出InvalidOperationException消息"在当前工作空间中找不到为FunctionImport指定的容器'booklog'."

.net stored-procedures entity-framework code-first

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