free method again, treat class as name space only

davidl davidl at 126.com
Fri Aug 8 01:16:48 PDT 2008


在 Thu, 07 Aug 2008 21:35:41 +0800,Lionello Lunesu  
<lio at lunesu.remove.com> 写道:

> davidl wrote:
>> class A
>> {
>>    void func(){ writefln("hello"); }
>> }
>>  class B
>> {
>>    void func(){ A.func(cast(A)cast(void*)this); }  // sometimes people  
>> need this.
>> }
>>  partial class is good, but it's likely to introduce a lot compiler  
>> bugs, and it's likely to increase the compile time.
>>  multiple inheritance is also nice, also likely to introduce compiler  
>> bugs, and multiple inheritance
>> make the thing more obscure sometimes, while it needs to be clear.
>>  the solution I proposed is simple and compact. It can solve all what  
>> partial class & MI can solve.
>> It won't much bring bad taste in syntax.
>
> What about a static function in a class? Isn't that basically "treating  
> class as name space only"?
>
> L.

That can't do what MI do.

While the way I proposed can. Because you send the `this` pointer in



-- 
使用 Opera 革命性的电子邮件客户程序: http://www.opera.com/mail/



More information about the Digitalmars-d mailing list