我有以下代码:
return "[Inserted new " + typeof(T).ToString() + "]";
Run Code Online (Sandbox Code Playgroud)
但
typeof(T).ToString()
Run Code Online (Sandbox Code Playgroud)
返回包括命名空间的全名
无论如何只是获取类名(没有任何名称空间限定符?)
我们使用.NET 2.0框架和C#3.0(我认为它是C#的最后一个版本,它可以在2.0版本的框架上运行,如果我错了,请纠正我).
是否有内置于C#中的内容可以使这种类型的参数验证更方便?
public ConnectionSettings(string url, string username, string password,
bool checkPermissions)
{
if (username == null) {
throw new ArgumentNullException("username");
}
if (password == null) {
throw new ArgumentNullException("password");
}
if (String.IsNullOrEmpty(url)) {
throw new ArgumentException("Must not be null or empty, it was " +
(url == null ? url : "empty"), "url");
}
this.url = url;
this.username = username;
this.password = password;
this.checkPermissions = checkPermissions;
}
Run Code Online (Sandbox Code Playgroud)
这种参数验证成为一种常见的模式,并导致许多"近似样板"代码在我们的公共方法中跋涉.
如果没有内置的东西.我们可以使用哪些优秀的免费图书馆?
我的申请中有一个基本的URL验证.现在我正在使用以下代码.
//validates whether the given value is
//a valid URL
function validateUrl(value)
{
var regexp = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/
return regexp.test(value);
}
Run Code Online (Sandbox Code Playgroud)
但是现在它没有接受没有协议的URL.对于前者 如果我提供www.google.com它不接受它.如何修改RegEx以使其接受没有协议的URL?
FsUnit源代码包含一个不寻常的定义:
let be = id
FSI输出:
val was : ('a -> 'a)
"id"的语义是以下语句的括号形式:
let be x = x
FSI输出:
val be : 'a -> 'a
你可以看到微小的差别:后者示例替换表达式为真与真,而第一语法将其表示为(真).
令我困惑的是,我在F#语言参考中找不到任何对"id"的引用,也没有在"Programming F#"一书中描述过.此外,"id"不是保留关键字,我可以定义为其他东西分配"id",然后我不再能够以第一个例子中显示的方式使用它.所以我想知道是否有任何描述这个文字及其语义的F#文档.
我正在尝试序列化指向多态类的指针Shape.所以我需要使用BOOST_CLASS_EXPORT宏来为每个子类定义一个GUID.问题:在哪里放?
让我先展示一个最小的测试用例:
shapes.hpp
#include <boost/serialization/access.hpp>
#include <boost/serialization/base_object.hpp>
#include <boost/serialization/export.hpp>
class Shape {
friend class boost::serialization::access;
template<typename Archive>
void serialize(Archive &ar, unsigned int const version) {
// nothing to do
}
public:
virtual ~Shape() { }
};
class Rect : public Shape {
friend class boost::serialization::access;
template<typename Archive>
void serialize(Archive &ar, unsigned int const version) {
ar & boost::serialization::base_object<Shape>(*this);
}
public:
virtual ~Rect() { }
};
#ifdef EXPORT_IN_HEADER
BOOST_CLASS_EXPORT(Rect)
#endif
Run Code Online (Sandbox Code Playgroud)
export.cpp
#include <boost/serialization/export.hpp>
#include "shapes.hpp"
#ifdef …Run Code Online (Sandbox Code Playgroud) 我需要检查NSArray动态存储的值.我应该如何在Objective-C中打印数组值?
<s:decorate template="/layout/display-text.xhtml">
<h:selectOneRadio layout="pageDirection" value="#{_userHome.pref}">
<f:selectItems value="#{_userHome.getPreferences()}" />
</h:selectOneRadio>
</s:decorate>
Run Code Online (Sandbox Code Playgroud)
我可以通过直接单击除Firefox之外的所有浏览器中单选按钮选项旁边的文本来选择用户首选项.我该怎么解决这个问题?
可能重复:
最佳重定向方法?
你好
我正在使用一些遗留代码,其中包含用于用户注册/登录的模块.有一个块查询数据库以查看用户是否已登录,然后重定向到登录页面.
重定向由处理,<meta http-equiv='refresh' content='=2;index.php' />但我已经知道这是折旧的,并不适用于所有浏览器.
是否有另一种方法可以在下面的代码中重新定位?
$username = mysql_real_escape_string($_POST['username']);
$password = md5(mysql_real_escape_string($_POST['password']));
$checklogin = mysql_query("SELECT * FROM users WHERE username = '".$username."' AND password = '".$password."'");
if(mysql_num_rows($checklogin) == 1)
{
$row = mysql_fetch_array($checklogin);
$email = $row['email'];
$_SESSION['username'] = $username;
$_SESSION['email'] = $email;
$_SESSION['LoggedIn'] = 1;
echo "<h1>Success</h1>";
echo "<p>We are now redirecting you</p>";
echo "<meta http-equiv='refresh' content='=2;index.php' />";
}
else
{
echo "<h2>Error</h2>";
echo "<p>Sorry, your account could not be found. Please <a href=\"index.php\">click here …Run Code Online (Sandbox Code Playgroud) 我设法使用cmake -G Xcode在Xcode中运行我的C++项目.现在我想调试它,因为它提供了很好的gdb前端.
但是我需要更改执行gdb的工作目录,否则它不会工作.(它需要从相对于工作目录路径的文件中读取一些数据)我可以做的是在gdb停止输入cd working_dir然后手动输入r后运行它.这可行,但Xcode会不断抱怨,也不是一个优雅的解决方案.
所以在构建设置的某个地方,我应该能够设置工作目录..但在哪里?!
我的代码中有以下行:
object[] inputs = new object[] {"input1", "input2", "input3", "input4"};
Run Code Online (Sandbox Code Playgroud)
我想知道如何(不知道数组中有多少元素)使用如下循环动态添加:
object[] inputs;
foreach (string key in Request.Form.Keys)
{
inputs[0] = key;
}
Run Code Online (Sandbox Code Playgroud)
我怎么能这样做?
提前致谢.
最好的祝福.