|
Yeah it does come with pros and cons. I like it because exceptions are hidden type couplings that throws makes explicit. But then again I was always one of those guys that liked to have my C++ classes const correct so maybe I'm just like that.
Perhaps it could come with a compiler switch to enforce or not enforce and thus be a design decision.
|
|
|
|
|
Instead of adding the throws statement it would be nice if the IDE would give you some sort of notice which errors could be thrown.
|
|
|
|
|
With statements in pascal and vb were rather useful, but it was a long time ago when a programmer had to remember all the field and variable names, not like today when you can't write without code completion.
Laziness is the programmers best friend.
|
|
|
|
|
Whenever creating a clone i'm using a with keyword.
Of couse one could write a private constructor. But then the arguments are named the same so i would probably use a 'with me'
|
|
|
|
|
I voted no because then I'd have to rename all my variables called with...
|
|
|
|
|
Oh, Crap! My # define s ! ![OMG | :OMG:](https://www.codeproject.com/script/Forums/Images/smiley_OMG.gif)
|
|
|
|
|
First of all I think that C# should be itself!
I mean that adding such a keyword will make C# more like VB -which I really don't like!-
Thats not the only reason because C# has lots of keywords, and I think adding a new keyword will make C# a language with a lot of keywords which will be a little confusing for some newbies.
In the other hand there is no need for this keyword, well consider this example:
class A
{
public void Foo();
public void anotherFoo();
}
class B
{
public void Woo
{
A a = new A();
with(a)
{
.Foo();
.anotherFoo();
}
}
}
Well I can write class B in another way which is better-at least I think so-
class B
{
public void Woo
{
A a = new A();
a.Foo();
a.anotherFoo();
}
}
as for the Ain't keyword, well as I said before about with keyword, however consider the above example:
class c
{
public A a;
public B b;
public bool isA(object obj)
{
return (obj.GetType() == typeof(A))? true: false;
}
}
Thats it.
What do you think guys?
Aamer A. Alduais
final_zero
My Favorite Qoute
"Faliure is the beginning of Success"
Aamer A. Alduais (^_^Me^_^)
|
|
|
|
|
I am not sure, but the With keyword disposes the current object (if it implements Idisposable) rather then waiting for the GC to come along.
|
|
|
|
|
[sarcasm]
try resume on ObjectReferenceException
{
object o = null;
string s = o.ToString();
return 0;
}
catch (Exception)
{
}
finally
{
}
[end sarcasm]
|
|
|
|
|
How about
Option Explicit Off ?
Vasudevan Deepak Kumar
Personal Homepage Tech Gossips
The woods are lovely, dark and deep,
But I have promises to keep,
And miles to go before I sleep,
And miles to go before I sleep!
|
|
|
|
|
Oh ouch. I forgot about that one! ![Dead | X|](https://www.codeproject.com/script/Forums/Images/smiley_dead.gif)
|
|
|
|
|
Something like this...
System.CSharp.OptionExplicit(false);
Best regards,
Lizandro Campbell
|
|
|
|
|
Under the hood, .NET actually can support that exception model IIRC. C# doesn't face it, however. I always figured it was left in their during initial planning for VB.NET.
--
Russell Morris
Morbo: "WINDMILLS DO NOT WORK THAT WAY!"
|
|
|
|
|
OMG, somebody shoot me ,)
|
|
|
|
|
Begging here: Should MS fix GDI+/WinForms not to cause 10,000 page-faults in 3 seconds of operation.
|
|
|
|
|
No point in starting a "Should Microsoft fix Personal Issue #4,712".
There's always things that can be done better, but for the moment we're busy whining about the keywords.
cheers,
Chris Maunder
CodeProject.com : C++ MVP
|
|
|
|
|
I so wish it was a 'personal issue'.
Never mind, I guess no one cares about something that has meaning, and background on around 9 million references to the problem, as well as every PC issue with a .NET framework on it.
Keywords are far more important I guess..
|
|
|
|
|
Guess I gotta state the obvious to the oblivious here.
For one, wrong forum.
For two, exactly what do you expect CP to do? Want them to mount a bronco and mosey on over to Washington to lasso up Billy G and make him watch Linux installs for days until he caves in and makes MS fix your issue?
Here's a thought, if it's a bug in .NET, email MS. If they ignore you, well, get a mac. ![Laugh | :laugh:](https://www.codeproject.com/script/Forums/Images/smiley_laugh.gif)
|
|
|
|
|
For one, there is never a wrong time to care about what you do, love, enjoy or your job.
For two, forget the place, it is just a statistic you obviously failed to grasp (reading the forum name helps)
"My issue" is just the right attitude that precisely led to much of the mess out there you're watching.. and will keep watching for some time, movie called: le mega-culling of overhead (Part 1- Falcon Returns)!
Btw, I only mail to myself ![Smile | :)](https://codeproject.global.ssl.fastly.net/script/Forums/Images/smiley_smile.gif)
|
|
|
|
|
Chris Maunder wrote: but for the moment we're busy whining about the keywords
Darn, we got caught.
|
|
|
|
|
As an aside I was explaining the programming language I had written to one of the senior managers recently. I was explaining the use of logical operator such as And, Or, Not etc. when she suddenly looked inspired and asked me if the language could have a "But" operator.
|
|
|
|
|
Just curious, what would that "But" operator do?
|
|
|
|
|
|
a little bonus of less typing is IMHO nothing compared to subtle bugs you may enounter. Consider simple classes:
class A
{
public string Name;
public string foo();
}
class B
{
public string foo();
public void bar()
{
A a = new A();
with A
{
Name = foo();
}
}
}
now decorate above classes with bunch of other methods and properties and good luck finding very subtle bug. Especially if A.foo() and B.foo() are almost the same...
--
"My software never has bugs. It just develops random features."
|
|
|
|
|
Mariusz Wojsyk wrote: now decorate above classes with bunch of other methods and properties and good luck finding very subtle bug.
Actually, if you're used to a With construct it's not hard to figure out. I've used it for years when in classic VB and never once encountered this subtle bug when even using nested Withs without easily being able to recognize what goes where. Maybe if you spread them out ten miles long it would be harder to notice, but that's the fault of the programmer more so than the construct.
|
|
|
|