我知道我可以使用投影映射两个对象类型LINQ,如下所示:
var destModel = from m in sourceModel
select new DestModelType {A = m.A, C = m.C, E = m.E}
Run Code Online (Sandbox Code Playgroud)
哪里
class SourceModelType
{
string A {get; set;}
string B {get; set;}
string C {get; set;}
string D {get; set;}
string E {get; set;}
}
class DestModelType
{
string A {get; set;}
string C {get; set;}
string E {get; set;}
}
Run Code Online (Sandbox Code Playgroud)
但是,如果我想制作类似通用的东西来做这件事,我不知道具体处理我正在处理的两种类型.所以它会走"Dest"类型并匹配匹配的"Source"类型..这可能吗?另外,为了实现延迟执行,我希望它只返回一个IQueryable.
例如:
public IQueryable<TDest> ProjectionMap<TSource, TDest>(IQueryable<TSource> sourceModel)
{
// dynamically build the LINQ projection based on the properties in …Run Code Online (Sandbox Code Playgroud) 我有一个我正在研究的ASP.NET MVC 2项目,我想知道我应该在哪里放置一些代码.
我目前有一个UsersModel,它由一堆针对我的数据上下文操作的静态方法组成.
这些方法包括诸如:UserExistsInDatabase,UserIsRegisteredForActivity,GetUserIdFromFacebookId等等等等.
这些方法应该在UsersModel类中,还是更适合模型上下文之外的用户帮助程序类?
欢呼任何指针.
当我点击子页面的提交按钮时,我想提交我的父页面.在我的子页面中,我将代码编写为
string scriptString = "<script language=JavaScript> window.opener.document.forms(0).submit(); </script>";
// ASP.NET 2.0
if (!Page.ClientScript.IsClientScriptBlockRegistered(scriptString))
{
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "script", scriptString);
}
Run Code Online (Sandbox Code Playgroud)
它在IE中工作正常,但在Firefox中不起作用.这可能是另一种方法吗?
预先感谢
我想知道只在运行时检查过时的属性?
认为你有两个组件.程序集A使用程序集B中的方法.之后,我们将程序集B中的方法标记为过时,这会在编译程序集A时导致编译时错误.
到目前为止没有问题,但问题是旧的A组件是否继续与新的B组件一起工作?谢谢
我可以使用Javascript访问PHP var,如下所示:
<?php
$fruit = "apple";
$color = "red";
?>
<script type="text/javascript">
alert("fruit: " + "<?php echo $fruit; ?>"); // or shortcut "<?= $fruit ?>"
</script>
Run Code Online (Sandbox Code Playgroud)
但是如果我想使用外部JS文件怎么办:
<script type="text/javascript" src="externaljs.js"></script>
Run Code Online (Sandbox Code Playgroud)
externaljs.js:
alert("color: " + "<?php echo $color; ?>");
Run Code Online (Sandbox Code Playgroud) 在服务器上设置了一个正常运行的Service Broker,我们正在迁移到新服务器,但我似乎无法在新机器上设置Service Broker.
已经做了明显的(对我来说)像DB上的启用代理,丢弃路由,服务,合同,队列甚至消息类型并重新添加它们,使用STATUS ON设置ALTER QUEUE
SELECT*FROM sys.service_queues
给我一个队列列表,包括我自己的两个队列,显示为activation_enabled,receive_enabled等.
不用说队列不起作用.当我把消息丢进他们时,没有任何东西进入,什么都没有出来.
有任何想法吗?我确信我错过了一些非常明显的东西......
我有一个我在屏幕上绘制的Graphics对象,我需要将其保存到png或bmp文件中.图形似乎不直接支持,但必须以某种方式.
步骤是什么?
您可以拥有的ASP.NET缓存(单个服务器上的部署者或Web场外的进程外)的最大大小是多少?
如果您可以拥有多大的ASP.NET缓存限制,是否有解决方法来增加该限制?
谢谢詹姆斯
有人可以解释下面如何处理2个代码片段的区别吗?它们肯定会编译成不同的汇编代码,但我试图理解代码的行为方式可能不同.我知道字符串文字被抛入只读内存并且实际上是静态的,但是它与下面的显式静态有何不同?
struct Obj1
{
void Foo()
{
const char* str( "hello" );
}
};
Run Code Online (Sandbox Code Playgroud)
和
struct Obj2
{
void Foo()
{
static const char* str( "hello" );
}
};
Run Code Online (Sandbox Code Playgroud) 我正在开发一款iPhone应用程序,它有一个非常大的UITableView,其中包含从网络上获取的数据,因此我正在尝试优化其创建和使用.
我发现这dequeueReusableCellWithIdentifier非常有用,但是在看到很多使用它的源代码之后,我想知道我对这个函数的用法是不是很好.
这是人们通常做的事情:
UITableViewCell* cell = [tableView dequeueReusableCellWithIdentifier:@"Cell"];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:@"Cell"];
// Add elements to the cell
return cell;
Run Code Online (Sandbox Code Playgroud)
这就是我做的方式:
// The cell row
NSString identifier = [NSString stringWithFormat:@"Cell %d", indexPath.row];
UITableViewCell* cell = [tableView dequeueReusableCellWithIdentifier:identifier];
if (cell != nil)
return cell;
cell = [[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:identifier];
// Add elements to the cell
return cell;
Run Code Online (Sandbox Code Playgroud)
不同之处在于人们对每个单元使用相同的标识符,因此只出列一个标识符可以避免分配新标识符.
对我来说,排队的重点是给每个单元格一个唯一的标识符,所以当应用程序要求它已经显示的单元格时,既不需要进行分配也不进行元素添加.
很好,我不知道哪个是最好的,"常用"方法将表的内存使用量提升到它显示的确切数量的单元格,而我使用的方法似乎有利于速度,因为它保留所有计算的单元格,但可能导致大内存消耗(除非队列有内部限制).
我这样用它错了吗?或者仅仅取决于开发人员,取决于他的需求?
c# ×3
asp.net ×2
.net ×1
architecture ×1
attributes ×1
c++ ×1
caching ×1
char ×1
external ×1
firefox ×1
form-submit ×1
graphics ×1
iphone ×1
javascript ×1
linq ×1
mapping ×1
objective-c ×1
obsolete ×1
optimization ×1
php ×1
sql-server ×1
static ×1
string ×1
uitableview ×1
variables ×1