|
Aren't the errors self-explanatory? Firstly, when calling ExcelObj.Workbooks.Open() method you need to either add some parameters or remove some of them. Secondly, instead of (System.Array)range.Cells.Value you should use get_Value method as you are using get_Range method in previous statement.
Hope it helps.
Giorgi Dalakishvili
#region signature
my articles
#endregion
|
|
|
|
|
g_amol wrote: excel open error "no overload for method Open takes 13 arguements"
Exactly what it says. Read the docs and see what is expected.
|
|
|
|
|
Hello everyone,
After quite some time study on samples and C# Spec. I am confused about what is a method group? In my understanding method group is a set of methods which have the same signature, and not necessary to belong to a specific class. But I am not sure whether I am correct. Any comments or ideas?
Below is what I found in my study.
From ECMA-334: 14.1,
http://en.csharp-online.net/ECMA-334:_14.1_Expression_classifications[^]
A method group, which is a set of overloaded methods resulting from a member lookup (§14.3). A method group can have an associated instance expression. When an instance method is invoked, the result of evaluating the instance expression becomes the instance represented by this (§14.5.7). A method group can be used in an invocation-expression (§14.5.5), used in a delegate-creation-expression (§14.5.10.3), or implicitly converted to a compatible delegate type. In any other context, an expression classified as a method group causes a compile-time error.
From C# in Depth,
http://csharpindepth.com/ViewNote.aspx?NoteID=92[^]
"the feature allows you to specify an extension method as a method group using extension syntax"
thanks in advance,
George
|
|
|
|
|
Just see http://blog.opennetcf.com/ncowburn/2007/03/23/ImplicitMethodGroupConversionInC.aspx
http://gsi.berkeley.edu/textonly/resources/discussion/heather.html
|
|
|
|
|
So a person that cant fathom a compiler error can answer a question about method groups...
|
|
|
|
|
Hi g_amol,
I think the 2nd link is not related to my question.
I have read the 1st link before asking this question. But after reading it, I am still confused what a method group is.
Could you explain in your words what do you think a method group is?
regards,
George
|
|
|
|
|
George isnt it clear that all this person did was google some of the words you've used in your OP? Although ill-informed, he is demonstrating that if you put a little research in then you can often find this sort of information online!
But then you've been asked this before, and it falls on deaf ears.
|
|
|
|
|
Yes,J4amieC.
There is another confusion point, from
http://csharpindepth.com/ViewNote.aspx?NoteID=92
"the feature allows you to specify an extension method as a method group using extension syntax"
my confusion is what is an extension method? I also did some search but almost find nothing to give a precise definition. How do you think of it?
regards,
George
|
|
|
|
|
IIRC, it is to do with delegates and method compatibility.
|
|
|
|
|
Thanks leppie!
In my understanding, method group is a set of methods which have the same signature, and not necessary to belong to a specific class. But I am not sure whether I am correct. Any comments or ideas?
regards,
George
|
|
|
|
|
George_George wrote: But I am not sure whether I am correct.
I think that is correct. When I read the spec a few years back 'method group' seemed like a very abstract term.
Example: say you have a delegate defined as follows:
delegate int Foo(string bar);
Any method that can be used with that delegate belongs in the same method group. Eg. Convert.ToInt32 and int.Parse or even:
int Bar(string foo)
{
return 0;
}
I am not 100% sure about my interpretation
|
|
|
|
|
Thanks leppie!
I like your description.
There is another confusion point, from
http://csharpindepth.com/ViewNote.aspx?NoteID=92[^]
"the feature allows you to specify an extension method as a method group using extension syntax"
my confusion is what is an extension method? I also did some search but almost find nothing to give a precise definition. How do you think of it?
regards,
George
|
|
|
|
|
I know C# 3.0 has extension methods, but that is definitely not part of the CLR EMCA spec.
What he/she is refering to is what you were asking about the other day with Delegate.Create with the open and closed stuff. (MSDN really has good docs on this!).
|
|
|
|
|
Thanks leppie,
Acutally my question is not how to use Delegate.CreateDelegate, but what means extension method.
Any ideas?
regards,
George
|
|
|
|
|
|
|
Extension methods allow you to extend an existing class or struct by adding methods.
Consider this pointless example:
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int i = 0;
i = i.ToMax();
Console.Write(i);
Console.Read();
}
}
public static class Extensions
{
public static int ToMax(this int i)
{
i = int.MaxValue;
return i;
}
}
} Now any time you use an integer instance it automatically has the ToMax() method available.
DaveBTW, in software, hope and pray is not a viable strategy. (Luc Pattyn)Expect everything to be hard and then enjoy the things that come easy. (code-frog)
|
|
|
|
|
Thanks Dave,
Really good stuff. One more question about method group,
http://csharpindepth.com/ViewNote.aspx?NoteID=92
what means "an extension method as a method group using extension syntax" in the above link?
regards,
George
|
|
|
|
|
No, that's not how method group is used in the spec (at least how I remember it).
An expression like "Console.WriteLine" returns a method group. It is a group of methods with different signatures, and when invoking the method group or constructing a delegate from it, the compiler chooses the method (the overload) with the matching signature (actually "best matching" signature, as defined in the spec).
|
|
|
|
|
AH ok, so it's like overload resolution?
|
|
|
|
|
Yes, overload resolution looks up a method from a method group.
The spec wrote:
An expression is classified as one of the following:
...
• A method group, which is a set of overloaded methods resulting from a member lookup (§7.3). A method group may have an associated instance expression and an associated type argument list. When an instance method is invoked, the result of evaluating the instance expression becomes the instance represented by this (§7.5.7). A method group is only permitted in an invocation-expression (§7.5.5) or a delegate-creation-expression (§7.5.10.3). In any other context, an expression classified as a method group causes a compile-time error.
...
|
|
|
|
|
Agree, Daniel!
One more question about method group,
http://csharpindepth.com/ViewNote.aspx?NoteID=92
what means "an extension method as a method group using extension syntax" in the above link?
regards,
George
|
|
|
|
|
I think the author is making a reference to method group as 'all the available methods that can be used like an instance method'.
An extension method is a C# compiler construct and does not form part of the CLI spec.
|
|
|
|
|
Thanks leppie,
1.
You mean the point of author is all kinds of instances methods from all classes/namespace belongs to
a single method group?
2.
What means "extension syntax" in his words?
regards,
George
|
|
|
|
|