|
Łukasz Nowakowski wrote: Without using directives code is unreadable.
Quite the contrary. People post pieces of code on here all the time without indicating the full names of classes. How are we supposed to know exactly which type of Widget you're using?
|
|
|
|
|
You're right, but imagine you have a big application, where everything is written with FQN. At least for me it would be a nightmare to read it... You couldn't see variable name without scrolling the screen right.
I didn't have readability on forums like this in mind, just readability in every day life.
Don't forget to rate answer, that helped you. It will allow other people find their answers faster.
|
|
|
|
|
Łukasz Nowakowski wrote: have a big application
Yes, I do.
Łukasz Nowakowski wrote: without scrolling the screen right
I have a widish screen and I break the longer names as appropriate.
Łukasz Nowakowski wrote: readability on forums
... is very important, whether asking or responding don't assume that the other patry is familiar with the class you're using.
Łukasz Nowakowski wrote: in every day life
You get used to it; it's not a big deal. I've been doing it that way since I first learned C# in 2002.
|
|
|
|
|
PIEBALDconsult wrote: How are we supposed to know exactly which type of Widget you're using?
Through our sheer awesome awesomeness.
|
|
|
|
|
But then I'm blinded and can't see the screen at all.
|
|
|
|
|
We are so awesome that the answer should appear without needing any input.
|
|
|
|
|
Yes, quite often that is the case, but still we need to share it with the world.
|
|
|
|
|
What is so odd about that? You have the "using" statement pointing to the Word namespace, you don't need to prefix Application with it (as in the second section that works).
A bit about namespace type name conflicts: alias the using statement. That way you don't have to type System.XML.Blah.Foo.Bar.Typename if you also have System.Word.Blah.Meh.Foo.Bar.Typename, you can type Foobar.Typename to get one, and MehFoo.Typename to get the other by aliasing the using statment via "using Foobar = System.XML.Blah.Foo.Bar" and "using MehFoo = System.Word.Blah.Meh.Foo.Bar".
|
|
|
|
|
Hello,
I'm having some problems in my solution. I have a project (a .dll) that contains interfaces for all my other projects. I decided to remove the namespaces and move them all into the same, and when I had done that I updated all my files to compile. However, I am now getting an exception while loading that a type that was previously in a namespace in the interface dll cannot be loaded.
"{"Could not load type 'Moonlite.ExtensionApi.GlobalInterfaces.IProjectTemplate' from assembly 'Moonlite.ExtensionApi, Version=1.0.1.0, Culture=neutral, PublicKeyToken=null'.":"Moonlite.ExtensionApi.GlobalInterfaces.IProjectTemplate"}"
I searched my entire harddrive, searched the GAC, literally everything I can think of, however the only copy of the interface dll is in the binary folder. I can't think of anything else I could do.
Please note that this is very urgent, as I have an upcoming release, so any help is appreciated.
Another note - I use MEF.
Thanks,
Theo
|
|
|
|
|
Have you shutdown VS and restarted it?
Please note asking for urgent help is considered rude here.
I know the language. I've read a book. - _Madmatt
|
|
|
|
|
Have you tried a clean build? i.e. remove the obj folders, click Build/CleanSolution, then build it all over.
|
|
|
|
|
Mark:
Yes, I have shutdown VS and restarted it.
I'm sorry - it will not happen again.
Luc:
Yes - I tried removing all binary files, all bin/obj folders, etc.
|
|
|
|
|
Do you have a clean development environment in a VM? If so, copy the source-files and rebuild there. If no, you might as well create such an environment while waiting for a decent answer that actually solves the problem.
I are Troll
|
|
|
|
|
I'm not sure I get what you mean. Could you please elabroate?
|
|
|
|
|
You could install Windows and Visual Studio in a Virtual Machine, using Virtual PC 2007[^] for example. That way you'd always have a clean environment
As is now, it would be guessing at the problem. Did you by any chance register any of the dll's as COM-controls?
I are Troll
|
|
|
|
|
That seems a bit much work for that - I think I'd rather keep trying things. Thanks for the tip, though.
I didn't register them as COM, no.
|
|
|
|
|
Is the old version in the GAC?
Oh, you said not.
|
|
|
|
|
Hi,
I have the following linq code within my app
var results = (from t in query
where t.ProjectID == new Guid(this.Session["ProjectID"].ToString())
orderby t.Number ascending
select new
{
ID = t.ID,
Tag = t.Number,
Description = t.Description,
SubSystems = GeneralHelper.TagSubSystems(t),
Module = t.Area.Module.Name,
Discipline = t.Discipline.Name,
ITRs = GeneralHelper.TagITRsHTML(t)
});
I want to pass the query result to another function to handle my paging. I currently have another function defined like this
public void BindGridData(IQueryable result)
{
gridView.DataSource = result;
gridView.DataBind();
}
It works like this, but the problem is I cannot do "take" or "skip" on "result" because it's declared as IQueryable. Is there a work around to handle this?
Thanks
|
|
|
|
|
convert the linq result to list
var results = (from t in query
where t.ProjectID == new Guid(this.Session["ProjectID"].ToString())
orderby t.Number ascending
select new
{
ID = t.ID,
Tag = t.Number,
Description = t.Description,
SubSystems = GeneralHelper.TagSubSystems(t),
Module = t.Area.Module.Name,
Discipline = t.Discipline.Name,
ITRs = GeneralHelper.TagITRsHTML(t)
}).ToList();
|
|
|
|
|
If I convert it to list, then how do I define the function that takes the query result?
|
|
|
|
|
public void BindGridData(IEnumerable result)
{
gridView.DataSource = result;
gridView.DataBind();
}
Also note the use of the pre tags to properly format the code snippet
I know the language. I've read a book. - _Madmatt
|
|
|
|
|
IEnumerable requires an argument,
IEnumerable result
any idea what argument would work?
|
|
|
|
|
Create a structure to represent your query results, instead of using anonymous types. Then you know what kind of IEnumerable it is.
Alternatively, make your Bind function generic, like so:
public void BindGridData<T>(IEnumerable<T> result)
{
gridView.DataSource = result;
gridView.DataBind();
}
|
|
|
|
|
|
Although I agree a concrete type is better for readability and good design it isn't necessary in order to pass the query to a method.
I know the language. I've read a book. - _Madmatt
|
|
|
|