假设我有一个IMyInterface<T>简单描述一个函数的接口:
public interface IMyInterface<T>
{
T MyFunction(T item);
}
Run Code Online (Sandbox Code Playgroud)
我可以用这个替换它Func<T, T>,但是出于语义原因我想要接口.我可以在该接口之间定义隐式转换,Func<T,T>以便我可以将匿名委托或lambda作为参数传递给接受此接口作为参数的函数,就像我曾经使用过一样Func<T,T>吗?
为了演示,使用上面声明的接口我想要一个这样的函数:
public T TestFunction<T>(IMyInterface myInterface, T value)
{
return myInterface.MyFunction(value);
}
Run Code Online (Sandbox Code Playgroud)
我可以像这样打电话:
TestFunction<string>( x => return x + " world", "hello");
Run Code Online (Sandbox Code Playgroud)
结果将是"你好世界".
基于这个问题,我想知道是否使用GUID生成一个随机的字符串和数字有任何缺陷吗?
因此,例如,如果我想要一个随机字符串和32个或更少字符的数字,我可以使用以下C#代码:
string s = Guid.NewGuid().ToString().Replace("-", "");
Run Code Online (Sandbox Code Playgroud)
如果长度需要小于32,我将截断字符串,如果需要更长,我会将多个GUID一起添加.
这种方法有哪些缺陷?
在我写完之后,我意识到一个缺陷就是它只会有字母a到f所以我会修改这个问题:
这是一个真正随机的6个字符和10个数字的序列吗?
查询:
SELECT COUNT(online.account_id) cnt from online;
Run Code Online (Sandbox Code Playgroud)
但是在线表也被事件修改,因此我经常可以通过运行看到锁定show processlist.
MySQL中是否有任何语法可以使select语句不引起锁定?
而且我忘了在上面提到它是在MySQL奴隶数据库上.
我加入my.cnf:transaction-isolation = READ-UNCOMMITTED
奴隶后会遇到错误:
错误'无法进行二进制日志记录.消息:InnoDB中的事务级别"READ-UNCOMMITTED"对于查询的binlog模式"STATEMENT"不安全
那么,是否有兼容的方法来做到这一点?
如何从ASP.NET webform引用母版页?以下声明不起作用:
this.MasterPage.Page.Title = "My Title";
Run Code Online (Sandbox Code Playgroud) 我有一个Ruby on Rails应用程序,我需要在Ruby和JavaScript中复制一些计算.Ruby用于服务器端,但我还需要使用JavaScript在浏览器上计算学生成绩.
我的第一个想法是使用字符串构建JavaScript函数,将其转换为JSON,将其发送到解码的浏览器并用作普通的JavaScript函数.这听起来对你有用吗?我尝试过一些简单的事情
def letterGradeCalc
"function calcLetterGrade(score) {
if( score >= 90 ) { return 'A'; }
else if( score >= 80 ) { return 'B'; }
else if( score >= 0 ) { return 'F'; }
else return '';
}".to_json
end
但是当浏览器获取它时,它不是有效的JavaScript函数.它看起来像一个,但它有双引号.
我在这里吠叫错了吗?我觉得有一些非常简单的方法可以做到这一点,但我完全错过了它.:)
********************编辑2**********************我想出了问题所在. ..但我不喜欢这个含义.我之前正在测试我们的iPhone目标移动应用程序,并使用插件将Firefox的用户代理字符串屏蔽为iPhone.
.Net实际上并没有根据这条信息生成所需的回发代码.
我不喜欢这样,因为iPhone和其他多媒体设备可以解释javascript,ASP.net打破任何依赖服务器生成的javascript运行的应用程序.
所以,如果社区允许它...我想将我的官方问题改为......为什么ASP.net不会为特定浏览器生成javascript,以及如何关闭此"功能".
***************结束编辑2***************
我有一个奇怪的问题.我将远程主机上的一些工作代码复制到我的计算机上.当我尝试使用该页面时,我收到了一个javascript错误
__doPostBack is not defined
javascript:__doPostBack('ctl00$ContentPlaceHolder1$login','')()()
Run Code Online (Sandbox Code Playgroud)
当我输出页面源很少时,确实没有服务器端生成的javascript.
我尝试创建一个简单的页面:
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="jsTest.aspx.vb" Inherits="_jsTest" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<asp:TextBox ID="tbTest" runat="server"></asp:TextBox><br />
<asp:LinkButton ID="linkTest" runat="server">LinkButton</asp:LinkButton>
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
代码隐藏:
Partial Class _jsTest
Inherits System.Web.UI.Page
Protected Sub linkTest_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles linkTest.Click
Response.Write(tbTest.Text)
End Sub
End Class
Run Code Online (Sandbox Code Playgroud)
得到同样的错误.
我尝试重新启动(嘿,它的工作时间有一半),清除了App_Code,global.asax和web.config中的所有内容,添加了一个带有autopostback = true的文本框...我没有想法.
任何人都可以了解这里发生的事情吗?
**************更多信息**************我刚刚在IE中尝试了一切,它按预期工作,页面源显示:
<input type="hidden" …Run Code Online (Sandbox Code Playgroud) 有没有办法检测何时在模态对话框中加载页面?比如当你调用window.showModalDialog()时.
一点背景:我试图解决模式对话框中出现的登录页面的表单身份验证问题,以及用户登录时的其余部分.
有任何想法吗?
我一直在使用此示例中的代码来提供帮助,这很有效. http://www.platinumball.net/blog/2009/03/30/iphone-uiimage-rotation-and-mirroring/
我无法锻炼如何旋转0到360之间的自定义度数....