不存在功能超特征。
您必须使用隐式方法将要装饰的方法包装到自己的类中。
该类必须处理不同的方法类型。
然后你必须创建一些类来生成你的装饰方法。
或者,如果可以的话,您只需创建类似的新方法:
def myF(x:Int,y:Int)={x*y}
def myF2(x:Int,y:Int)={myDecorator(myF(x,y))}
def myDecorator[X](f:=>X)={println("entering");val ret=f();println("exiting");ret}
或尝试:
def myF_old(x:Int,y:Int)=x*y
def paramDecorator(x:Any*):List[Any]={/*do some match operations or something*/}
def outputDecorator(x:Any*):Any={/*do some match operations or so*/}
def myF(x:Int,y:Int):Int={
params=paramDecorator(x,y);
val res=myF_old(params(1),params(2));
outputDecorator(res);
}
由于这是一个 has_one 关联,您是否尝试过使用资源而不是资源?
resources :members do
resource :profile
end
然后你应该能够做这样的事情:
link_to "Profile", member_profile_path(@member)
您需要正确地为表添加别名才能获取所需的数据。此外,不应使用子查询来选择父类型,而应使用 JOIN。可能是外连接,因为您的查询意味着该表中的父子关系是可选的。
这应该适合你:
SELECT ty.id, ty.type, ty.pid,
if(ty.pid = 0, '-', p.type) as parent,
ty.code, ty.description, ty.icon,
date_format(ty.adate, '%m-%d-%Y %H:%i:%s') as adate,
date_format(ty.edate, '%m-%d-%Y %H:%i:%s') as edate, ty.status
FROM bid_type ty
LEFT OUTER JOIN bid_type p on p.id = ty.pid
Guid.TryParse
是.NET 4 的一部分。确保您正在针对 .NET 4 进行构建和运行,并且应该没问题。
处于 TASK_INTERRUPTIBLE
或 TASK_UNINTERRUPTIBLE
状态的进程进一步细分为不同的类,每个类对应一个特定的事件。在此状态下,进程状态无法提供足够的信息来快速检索进程描述符,因此使用另一个名为 wait_queue
的进程列表。 Wait_queue 实现事件的条件等待。等待特定事件的进程被放置在适当的等待队列中。
等待队列被实现为循环列表,其元素包括指向进程的指针
描述符。等待队列列表的每个元素都是 wait_queue 类型:
struct wait_queue {
struct task_struct * task;
struct wait_queue * next;
};
我使用 Tomtom 从 iPhone 上的路线规划选项向我发送了一封电子邮件。该电子邮件中有一个我使用的 tomtomhome:geo 链接。
为了进行测试,我在 Mac 上的 Safari 中单击了该链接,显然没有任何反应。然后我将该链接保存为书签,该书签立即使用 MobileMe 同步到我的 iPhone。我单击 iPhone Safari 浏览器上的书签,viola Tomtom 打开,并显示以链接中的位置为中心的地图。它会弹出一个带有链接名称的气球,右箭头允许我选择第一个选项“导航到那里”
生成的链接是:
tomtomhome:geo:action=show&lat=26.123456&long =28.123456&name=linkname
调用存储过程的有问题的代码:
var resultSP = db.StoredProcedure(id);
if (resultSP != null)
{
var count = resultSP.Count();
var list = resultSP.Select(x=>...);
}
已修复,使用 ToList()
存储在变量中并重用它:
var resultSP = db.StoredProcedure(id);
if (resultSP != null)
{
var resultSP_List = resultSP.ToList();
var count = resultSP_List.Count();
var list = resultSP_List.Select(x=>...);
}
您是否在寻找多态性?
interface MyService {
void doWork();
}
class CoolMyService {
void doWork() { /* do something */ }
}
class AnotherMyService {
void doWork() { /* do something else */ }
}
MyService service;
if(position == 1){ service = new CoolMyService(); }
if(position == 2){ service = new AnotherMyService() }
service.doWork();
我不知道您的列表中有多少项,但您可以调整上面的示例以根据需要动态加载对象。请记住,您可以使用多态性和定义的接口来确保正直。然后把实际工作落实到具体实施中。
如果将年份/季度转换为十进制,并进行一些数学运算,就可以计算出差异。
class DateTimeQuarter
{
public DateTimeQuarter(DateTime date)
{
Date = date;
Quarter = date.Month / 4 + 1;
}
public static int operator -(DateTimeQuarter lhs, DateTimeQuarter rhs)
{
double value = Convert.ToDouble(
(rhs.Date.Year - lhs.Date.Year)) + (rhs.Quarter / 10.0) - (rhs.Quarter / 10.0);
int result =
(Convert.ToInt32(value) * 4) + Convert.ToInt32(value - Math.Floor(value));
return result;
}
public DateTime Date { get; set; }
public int Quarter { get; set; }
}
static void Main(string[] args)
{
DateTimeQuarter q1 = new DateTimeQuarter(new DateTime(2006, 04, 20));
DateTimeQuarter q2 = new DateTimeQuarter(new DateTime(2007, 12, 25));
int quarters = q1 - q2;
}
来自: http://api.jquery.com/val/
$('input:radio[name=bar]:checked').val();
Object
函数是一个构造函数,所有其他类型(如 Array、String、Number)都继承它。
为什么不定义每个方法以采用一个参数:对象数组? 方法
想必您想要的是使用从数组中设置的参数来调用它的 。好吧,改为:
那么你的整个调度机制就变成:
Why not define each of your methods to take one argument: the array of objects? Presumably what you want is, with with the method
to invoke it with the parameters set from the array. Well, instead have:
then your whole dispatch mechanism just becomes:
使用反射/内省调用具有未知数量参数的选择器