问题列表 - 第6066页

.net AppSettings历史琐事

我以前习惯性地工作的开发人员之一,一直使用:

 ConfigurationSettings.AppSettings["Foo"].ToString()
Run Code Online (Sandbox Code Playgroud)

由于AppSettings集合项已经是字符串,所以它有点让我感到困惑,但我想知道:在.net 1.0和1.1的古代时代,集合是否将其项目存储为类型Object,需要ToString()调用?

.net

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

Web服务无法序列化接口

我有这样的界面:

public interface IDocument : ISerializable
{
    Boolean HasBeenUploaded { get; set; }
    void ISerializable.GetObjectData(SerializationInfo, StreamingContext) { }
}
Run Code Online (Sandbox Code Playgroud)

有三个文件继承自此,所有这些文件序列化都很好.但是在创建一个简单的Web服务时,它什么都不做,可以将它们上传到...

public class DCService : System.Web.Services.WebService
{
    [WebMethod]
    public Boolean ReceiveDocument(IDocument document)
    {
        DBIO io = new DBIO();

        return io.InsertIntoDB(document); // does nothing; just returns true
    }
}
Run Code Online (Sandbox Code Playgroud)

我试图运行它时得到这个:"无法序列化接口IDocument"

我不太清楚为什么这会成为一个问题.我知道有些人遇到了麻烦,因为他们不想强制子类来实现自定义序列化,但我确实如此,到目前为止它已经成功了.

编辑>如果我创建接受实现接口的对象的单个web方法,它工作正常,但这削弱了客户端/服务器之间的合同(并破坏了首先拥有接口的目的)

c# serialization web-services interface

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

检查是否存在临时表,并在创建临时表之前删除它是否存在

我正在使用以下代码检查临时表是否存在,如果存在,则在再次创建之前删除该表.只要我不更改列,它就可以正常工作.如果我稍后添加一列,则会显示错误"无效列".请让我知道我做错了什么.

IF OBJECT_ID('tempdb..#Results') IS NOT NULL
    DROP TABLE #Results

CREATE TABLE #Results
(
    Company                CHAR(3),
    StepId                TINYINT,
    FieldId                TINYINT,
)

select company, stepid, fieldid from #Results

--Works fine to this point

IF OBJECT_ID('tempdb..#Results') IS NOT NULL
    DROP TABLE #Results

CREATE TABLE #Results
(
    Company                CHAR(3),
    StepId                TINYINT,
    FieldId                TINYINT,
    NewColumn            NVARCHAR(50)
)

select company, stepid, fieldid, NewColumn from #Results

--Does not work
Run Code Online (Sandbox Code Playgroud)

sql-server sql-server-2005 alter-table temp-tables

637
推荐指数
13
解决办法
134万
查看次数

如何使用指针在数组中显示字符串?

我正在练习使用指针.

我有一个指向3个字符串数组的指针:"dog","cat","rat".

我可以使用for循环和使用数组打印内容.

但是,我在使用指针算法打印它们时遇到问题.我想将指针递增到数组中的下一个元素.然而,它所做的只是打印狗牌.

码:

int main(int argc, char **argv)
{
    char *str[3] = { "DOG", "CAT", "RAT"};
    int i = 0;

    /* display using an array element */
    for(i = 0; i < 3; i++)
    {
    printf("str: %s\n", str[i]);
    }

    /* display using a pointer arthimatic */
    while((*str)++)
    {
    printf("str: %s\n", str);
    }

    getchar();

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

我怎么能做到这一点?

编辑:

码:

while(str)
{
    printf("str: %s\n", *(str++));
}
Run Code Online (Sandbox Code Playgroud)

但是,我收到此错误消息.I值是否必须是某种变量?

错误C2105:'++'需要l值

c string pointers

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

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

记录和同步

我刚刚编写了自己的日志框架(非常轻量级,不需要大型日志框架).它由一个接口ILogger和许多实现该接口的类组成.我有一个问题是TGUILogger,它将TStrings作为日志记录目标,并将日志记录与主线程同步,以便列表框的Items成员可以用作目标.

type
  ILogger = Interface (IInterface)
    procedure Log (const LogString : String; LogLevel : TLogLevel);
    procedure SetLoggingLevel (LogLevel : TLogLevel);
  end;

type    
  TGUILogger = class (TInterfacedObject, ILogger)
  public
    constructor Create (Target : TStrings);
    procedure Log (const LogString : String; LogLevel : TLogLevel);
    procedure SetLoggingLevel (LogLevel : TLogLevel);
  private
    procedure PerformLogging;
  end;

procedure TGUILogger.Log (const LogString : String; LogLevel : TLogLevel);
begin
  TMonitor.Enter (Self);
  try
    FLogString := GetDateTimeString + ' ' + LogString;
    TThread.Synchronize (TThread.CurrentThread, PerformLogging);
  finally
    TMonitor.Exit (Self);
  end;
end; …
Run Code Online (Sandbox Code Playgroud)

delphi multithreading synchronization delphi-2009

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

如何增加.NET的堆大小?

.NET中是否存在与java -Xmx内存大小分配相对应的内容?

.net memory

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

带有Html基本标记的Url哈希

window.location.hash

当使用链接进行javascript操作时,我通常会这样做:

<a href="#">Link Text</a>
Run Code Online (Sandbox Code Playgroud)

这样,当有人在页面加载之前点击链接时,没有任何可怕的事情发生.

Html基本标记

在我当前的项目中,我使用相同的构造,但使用基本标记:

<html>
<head>
    <base href="http://example.com/" />
</head>
<body>
    <a href="#">Link Text</a>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

但是,如果页面网址是:

http://example.com/dir/page
Run Code Online (Sandbox Code Playgroud)

单击链接导航到

http://example.com/#
Run Code Online (Sandbox Code Playgroud)

而不是

http://example.com/dir/page#
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题?

html javascript hash base-tag

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

如何在一行中混合绑定(< - )和赋值(let)?(在Haskell)

这是关于Haskell中的语法糖.一个简单的Haskell程序:

main = do
  args <- getArgs
  let first = head args
  print first
Run Code Online (Sandbox Code Playgroud)

我在第一行(args <- getArgs)中使用绑定,在第二行()中使用纯赋值let first = ....有可能将它们合并成一个可读的单行程序吗?

我明白我可以重写绑定"脱糖":

main = do
  first <- getArgs >>= ( return . head )
  print first
Run Code Online (Sandbox Code Playgroud)

但是有没有更好的方法,没有用(>> =)弄乱线路并返回?

syntax haskell syntactic-sugar

9
推荐指数
4
解决办法
1827
查看次数

以类似于图形的图形方式编写C++?

我正在考虑设计一个允许人们以图形方式开发C++代码的应用程序的可能性.当我发现Scratch(参见网站教程视频)时,我感到很惊讶.

我相信大多数C++都可以用图形表示,除了预处理器指令和可能的函数指针.

您认为哪些C++功能可以(或不是)由图形项表示?这种申请的利弊是什么?它比"普通"C++简单多少?

RECAP和更多:

优点:

  • 直观的
  • 适用于小型应用
  • 有助于避免错别字

缺点:

  • 对于大型(中型)大小的应用程序可能变得不可读
  • 对于有经验的程序员来说,手动编码更快
  • C++对于这种方法来说太复杂了

考虑到我们 - 我的工作 - 已经有相当多的现有C++代码,我不是在寻找一种全新的编程方式.我正在考虑一种与遗留代码完全兼容的替代编程方式.人们将用于新代码的某种"病毒语言",并且希望最终也会用来替换现有代码(它可能有用).

您如何看待这种病毒式方法?

说到手动和图形编程,我倾向于同意你的答案.这就是为什么理想情况下,我会找到一种方法让用户总是在打字和图形编程之间做出选择.逐行解析器(+部分解释器)可能能够将类型化代码转换为图形设计.这可能的.让我们全都交叉.

是否有提供打字和图形编程功能的警告我应该仔细考虑和分析?

我已经处理过模板类(更常见的是类型级C++)及其图形表示.看到存在于模板类的图形表示的示例.框表示类或类模板.第一个顶级节点是类本身,下一个节点(如果有的话)是类中的typedef指令.底部节点是模板参数.当然,边缘将类连接到实例化的模板参数.我已经有了处理这种类型级图表的原型.

如果您觉得这种表示模板类的方式是完全错误的,请不要犹豫,为什么这么说!

c++ graphical-programming

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