使用asp.net和c#membership provider如何检查用户是否注册?我想在代码中处理这个而不是使用"登录状态"?
C#类可以拥有的属性数量是否有限制?
我快速浏览标准ECMA-334并没有找到任何相关信息.
在进入为什么一个有很多方法的课程设计不好之前,我想更明确一下这个意图.当然,我不会手动编写一个包含大量方法的类.我问这个的原因是我需要通过代码生成大量的执行单元.我讨论的是具有单个方法的多个类或具有多个方法的一个大类.
所以对于这个问题,如果有限制我会感兴趣,属性数量,方法的限制是多少.
我正在阅读Ruby,并了解了它的mixins模式,但是没想到很多有用的mixin功能(因为我不习惯这么想的方式).所以我想知道什么是有用的Mixin功能的好例子?
谢谢
编辑:有点背景.我来自C++和其他对象语言,但我怀疑的是Ruby说它不是继承mixins,但我一直认为mixins是多重继承,所以我担心我想把它们分类太快进入我的舒适区,并没有真正了解mixin是什么.
有没有在Python的方式,有多个构造函数或多个方法具有相同的名字,谁在不同数量的参数,他们接受或一个或多个参数(S)的类型?
如果没有,那么处理这种情况的最佳方法是什么?
举个例子,我组成了一个颜色类.这个类只应作为讨论这个问题的一个基本例子,那里有很多不必要的和/或多余的东西.
如果我可以使用不同的对象(列表,其他颜色对象或三个整数......)调用构造函数并且构造函数相应地处理它们,那将是很好的.在这个基本示例中,它在某些情况下使用*args和**kwargs,但使用类方法是我想出的唯一通用方法.对于这个解决方案,什么是" 最佳实践 "?
抛开构造函数,如果我也想实现一个_ _ add _ _方法,我怎么能让这个方法接受所有这一切:一个普通的整数(添加到所有值),三个整数(其中第一个是添加到红色值等等)或另一个颜色对象(两个红色值加在一起等)?
编辑
我添加了一个替代构造函数(初始化程序,_ _ init _ _),它基本上完成了我想要的所有东西.
但我坚持第一个和工厂方法.看起来更清楚.
我还添加了_ _ add _ _,它完成了上面提到的所有事情,但我不确定它是不是很好的风格.我尝试使用迭代协议并回退到"单值模式",而不是检查特定类型.也许还是丑陋的.
我看了_ _ new _ _,感谢链接.
我第一次尝试使用它失败了:我从*args和**kwargs(它是一个类,一个列表等)中过滤rgb值然后用右args调用超类的_ _ new _ _(只是r, g,b)将它传递给init.对'Super(cls,self)._ _ new _ _(....)'的调用有效,但是因为我生成并返回与我调用的对象相同的对象(按预期),所有原始args传递给_ _ init _ _(按预期工作),所以它保释.
我可以摆脱_ _ init _ _ completly并设置_ _ new _ _中的值但我不知道......感觉我在这里滥用东西;-)我应该好好看看我认为元类和新的第一个.
资源:
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
class Color (object):
# It's strict on what …Run Code Online (Sandbox Code Playgroud) 我有以下代码:
Guid id = imageMetaData.ID;
Data.LinqToSQL.Image dbImage = DBContext.Images.Where(x => x.ID == id).SingleOrDefault();
dbImage.width = imageMetaData.Width;
dbImage.height = imageMetaData.Height;
DBContext.SubmitChanges();
Run Code Online (Sandbox Code Playgroud)
查看SQL事件探查器,正在生成以下SQL:
exec sp_executesql N'UPDATE [dbo].[Images]
SET [height] = @p0, [width] = @p1
WHERE 0 = 1',N'@p0 int,@p1 int',@p0=603,@p1=365
Run Code Online (Sandbox Code Playgroud)
为什么我的where语句不包含"where id = ...."???
我究竟做错了什么?
我的应用程序抛出一个ChangeConflictException,其中包含消息......"未找到或更改行"
此问题与C#有关,但也可能适用于其他语言.我预计不会使用以下代码:
using System.Windows.Forms;
class MyForm : Form
{
private Timer myTimer;
private Button myButton;
public MyForm()
{
// Initialize the components, etc.
myTimer.Tick += new EventHandler( myTimer_Tick );
myButton.Click += new EventHandler( myButton_Click );
myTimer.Start();
}
private void myTimer_Tick( object sender, EventArgs eventArgs )
{
myTimer.Stop();
// also, I see a lot of usage of
// Timer.Enabled = true/false instead of -^
myButton_Click( this, ea /* or event EventArgs.Empty, or null */ );
return;
}
private void myButton_Click( object sender, …Run Code Online (Sandbox Code Playgroud) 开发人员可以从其他行业中学到很多东西.作为思考练习,是否可以使用敏捷技术建造客机?
忘记现在的成本; 对硬件(机身,机翼等)以及软件使用迭代和增量开发是否可行,并且仍然提供一种在交付时满足客户要求的工作和安全产品?
重构飞机是否有意义?
因此,如果我理解得很好,垃圾收集会自动释放程序不再使用的对象.像java中的垃圾收集器.
我听说像C这样的语言不支持垃圾收集,程序可能会有内存泄漏并随后耗尽内存.
那么程序员在不支持垃圾收集的C语言中所犯的错误是什么?我猜不会在它们不再使用后解除分配对象.但是由于缺少垃圾收集器,这些是我们可以做的唯一错误吗?
我在ASP.NET AJAX页面中维护状态时遇到问题.简短版本:我需要一些方法在进行异步回调后更新页面ViewState,以反映服务器在异步调用期间所做的任何状态更改.
这似乎是一个常见问题,但我将描述我的场景以帮助解释:
我有一个类似网格的控件,它有一些JavaScript增强功能 - 即拖放列和行的功能.当列或行被放入新位置时,将调用AJAX方法以通知控制服务器端并触发相应的服务器端事件("OnColumnMoved"或"OnRowMoved").
默认情况下,ASP.NET AJAX调用将整个页面作为请求发送.这样,页面就会经历一个完整的生命周期,视图状态会被持久化,并且在调用RaiseCallbackEvent方法之前会恢复控件的状态.
但是,由于AJAX调用不更新页面,因此即使在移动了列或行之后,ViewState 也会反映控件的原始状态.因此,第二次发生客户端操作时,AJAX请求将转到服务器,并再次构建页面和控件以反映控件的第一个状态,而不是第一个列或行移动后的状态.
这个问题延伸到许多含义.例如,如果我们有一个客户端/ AJAX操作来向网格添加新项目,然后拖动一行,则网格在服务器端构建,其项目少于客户端.
最后,最重要的是,对于我的具体示例,我们正在处理的实际数据源对象存储在ViewState页面中.这是一个设计决策,允许保留被操纵数据的有状态副本,这些数据可以在许多操作后提交给DB,如果用户退出则丢弃.这很难改变.
所以,再次,我需要一种方法,在触发AJAX方法后,在回调时更新页面ViewState.
.net ×4
c# ×3
asp.net ×2
c ×2
.net-3.5 ×1
agile ×1
ajax ×1
arm ×1
asp.net-ajax ×1
class-design ×1
coding-style ×1
embedded ×1
formatting ×1
java ×1
linq ×1
linq-to-sql ×1
membership ×1
methods ×1
mixins ×1
provider ×1
python ×1
ruby ×1
traits ×1
viewstate ×1