我以前习惯性地工作的开发人员之一,一直使用:
ConfigurationSettings.AppSettings["Foo"].ToString()
Run Code Online (Sandbox Code Playgroud)
由于AppSettings集合项已经是字符串,所以它有点让我感到困惑,但我想知道:在.net 1.0和1.1的古代时代,集合是否将其项目存储为类型Object,需要ToString()调用?
我有这样的界面:
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方法,它工作正常,但这削弱了客户端/服务器之间的合同(并破坏了首先拥有接口的目的)
我正在使用以下代码检查临时表是否存在,如果存在,则在再次创建之前删除该表.只要我不更改列,它就可以正常工作.如果我稍后添加一列,则会显示错误"无效列".请让我知道我做错了什么.
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) 我正在练习使用指针.
我有一个指向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值
尝试选择to_ascii('capo','LATIN1'),to_ascii('çapo','LATIN1'),结果不同....
我刚刚编写了自己的日志框架(非常轻量级,不需要大型日志框架).它由一个接口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) 当使用链接进行javascript操作时,我通常会这样做:
<a href="#">Link Text</a>
Run Code Online (Sandbox Code Playgroud)
这样,当有人在页面加载之前点击链接时,没有任何可怕的事情发生.
在我当前的项目中,我使用相同的构造,但使用基本标记:
<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)
我怎样才能解决这个问题?
这是关于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)
但是有没有更好的方法,没有用(>> =)弄乱线路并返回?
我正在考虑设计一个允许人们以图形方式开发C++代码的应用程序的可能性.当我发现Scratch(参见网站和教程视频)时,我感到很惊讶.
我相信大多数C++都可以用图形表示,除了预处理器指令和可能的函数指针.
您认为哪些C++功能可以(或不是)由图形项表示?这种申请的利弊是什么?它比"普通"C++简单多少?
RECAP和更多:
优点:
缺点:
考虑到我们 - 我的工作 - 已经有相当多的现有C++代码,我不是在寻找一种全新的编程方式.我正在考虑一种与遗留代码完全兼容的替代编程方式.人们将用于新代码的某种"病毒语言",并且希望最终也会用来替换现有代码(它可能有用).
您如何看待这种病毒式方法?
说到手动和图形编程,我倾向于同意你的答案.这就是为什么理想情况下,我会找到一种方法让用户总是在打字和图形编程之间做出选择.逐行解析器(+部分解释器)可能能够将类型化代码转换为图形设计.这是可能的.让我们全都交叉.
是否有提供打字和图形编程功能的警告我应该仔细考虑和分析?
我已经处理过模板类(更常见的是类型级C++)及其图形表示.看到存在于模板类的图形表示的示例.框表示类或类模板.第一个顶级节点是类本身,下一个节点(如果有的话)是类中的typedef指令.底部节点是模板参数.当然,边缘将类连接到实例化的模板参数.我已经有了处理这种类型级图表的原型.
如果您觉得这种表示模板类的方式是完全错误的,请不要犹豫,为什么这么说!
.net ×2
alter-table ×1
base-tag ×1
c ×1
c# ×1
c++ ×1
delphi ×1
delphi-2009 ×1
diacritics ×1
hash ×1
haskell ×1
html ×1
interface ×1
javascript ×1
memory ×1
pointers ×1
postgresql ×1
sql-server ×1
string ×1
syntax ×1
temp-tables ×1
web-services ×1