|
Hi All,
Can anybody help me what does the below code do and whats the use of new here. Any link also will be fine.
public abstract class BaseCollection<T> : List<T> where T : BaseEntity, new()
{
public bool MapObjects(DataSet ds)
{
if (ds != null && ds.Tables.Count > 0)
{
return MapObjects(ds.Tables[0]);
}
else
{
return false;
}
}
public bool MapObjects(DataTable dt)
{
Clear();
for (int i = 0; i < dt.Rows.Count; i++)
{
T obj = new T();
obj.MapData(dt.Rows[i]);
this.Add(obj);
}
return true;
}
} Thanks & Regards,
Md. Abdul Aleem
NIIT technologies
modified on Friday, February 5, 2010 7:31 PM
|
|
|
|
|
So like, what's the problem?Me, I'm dishonest. And a dishonest man you can always trust to be dishonest. Honestly. It's the honest ones you want to watch out for...
|
|
|
|
|
|
I want to know can we declare inheritance in that way. Whats the use of new(). What does it represent. Is this coding is Inheritance chaining or multi level inheritance. Please help me in uderstading it. Thanks & Regards,
Md. Abdul Aleem
NIIT technologies
|
|
|
|
|
BaseCollection inherits from List< T > where T is a class that inherits from BaseEntity and has a public default constructor.
use of the new() keyword in this context: MSDN[^]
more info: MSDN[^]
|
|
|
|
|
Buy a book, look at some websites, this is all well covered. Do the research yourself and you will truely learn, not just parrot and cut & paste. I know the language. I've read a book. - _Madmatt
|
|
|
|
|
Hello, I created a custom BindingNavigator Toolstrip with Buttons - Save, MoveFirst, MovePrevious, MoveNext, MoveLast, Edit mode, Add new, Delete and Cancel.
To avoid copying all events to each new Form I like to assemble the toolstrip including the buttons and events into a usercontrol.
I want to embed a BindingSource into this UserControl.
QUESTION: What is the best practise to house a BindingSource into a UserControl?
The end objective is just to drag and drop the usercontrol onto the form and it's just a matter of linking the input controls (textboxes, comboboxes) to this new BindingNavigator control.
Regards Arjen
|
|
|
|
|
How can I make the BindingSource which is inside the UserControl, visible to other controls on the Form?
How do I make the Bindingsource.Datasource property public so it is visible in the Miscellaneous property section of the UserControl?
Regards Arjen
|
|
|
|
|
i'm currently using:
try
{
using (StreamReader reader = new StreamReader(path))
{
return reader.ReadToEnd();
}
}
catch (Exception e)
{
}
i cycle through each file, do what I need to do w/ the code, and then move onto the next on.
Any other ways to move a little faster?
|
|
|
|
|
|
Hi,
1.
File.ReadAllText() does it all in one line.
2.
if the files are large, you may be stressing the memory, possibly without a real necessity. Do you really need all the data of a file in memory at once? or is a sequential read sufficient?
3.
for small files, and assuming the processing is individual without too much common data, use a few threads (no more than 2*Ennvironment.ProcessorCount).
Note: if your processing needs GUI access, you must avoid invalid cross-thread operations[^]
Warning: if you take them from ThreadPool it will take a few seconds before they are all active.
Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles]
I only read code that is properly formatted, adding PRE tags is the easiest way to obtain that. [The QA section does it automatically now, I hope we soon get it on regular forums as well]
|
|
|
|
|
here's what i have
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
using (var db = new momdbDataContext(Properties.Settings.Default.Remote))
{
var aAuthor = (from a in db.Authors
where a.ID == (int)comboBox1.SelectedValue
select a).FirstOrDefault();
authorFirstTextBox.Text = aAuthor.AuthorFirst.ToString().Trim();
authorLastTextBox.Text = aAuthor.AuthorLast.ToString().Trim();
}
when i look in the debugger comboBox1.SelectedValue has {ID=2,Name="Jim Bob"}
I don't understand how to get the id value of 2 so I can look up that author.
Sorry for all the questions Just not grasping a lot of this stuff yet.
|
|
|
|
|
How are you binding the data to the combobox?
I know the language. I've read a book. - _Madmatt
|
|
|
|
|
private void LoadAuthorsCombo()
{
using (var db = new momdbDataContext())
{
comboBox1.DataSource = db.Authors.Select(c=>new{ID=c.ID,Name=String.Format("{0}, {1}",c.AuthorLast,c.AuthorFirst)});
comboBox1.DisplayMember = "Name";
comboBox1.ValueMember = "ID";
}
}
I simply dragged combo box from the datasource onto the forum. Then to populate it I called the loadAuthorCombo that i made.
|
|
|
|
|
Hi,
SelectedValue will contain the Value, i.e. the value of the property you chose as ValueMember, hence the ID.
Works for all ListControls, i.e. ListBox and ComboBox.
Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles]
I only read code that is properly formatted, adding PRE tags is the easiest way to obtain that. [The QA section does it automatically now, I hope we soon get it on regular forums as well]
|
|
|
|
|
so i would call a.id == combobox1.valuemember?
I'm still a little confused. sorry
|
|
|
|
|
why don't you try it? why don't you read the documentation?
Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles]
I only read code that is properly formatted, adding PRE tags is the easiest way to obtain that. [The QA section does it automatically now, I hope we soon get it on regular forums as well]
|
|
|
|
|
Hello there,
Would you please explain , how the below method (that is bold) works ?
public class RelayCommand : ICommand
{
readonly Action<object> _execute;
readonly Predicate<object> _canExecute;
public RelayCommand(Action<object> execute)
: this(execute, null)
{
}
public RelayCommand(Action<object> execute, Predicate<object> canExecute)
{
if (execute == null)
throw new ArgumentNullException("execute");
_execute = execute;
_canExecute = canExecute;
}
[DebuggerStepThrough]
public bool CanExecute(object parameter)
{
return _canExecute == null ? true : _canExecute(parameter);
}
public event EventHandler CanExecuteChanged
{
add { CommandManager.RequerySuggested += value; }
remove { CommandManager.RequerySuggested -= value; }
}
public void Execute(object parameter)
{
_execute(parameter);
}
}
I mean , what's the meaning of : this(execute, null) ?
|
|
|
|
|
It calls the constructor below it: it's like base(whatever).
<mod>The point is to avoid duplicating whatever functionality is in the two-parameter method.
|
|
|
|
|
Thanks,
What's the name of these methods ?
Is there a specific name for these methods ?
|
|
|
|
|
It works on constructors only, i.e. methods that:
- have no return type;
- have a name identical to the class name;
- get invoked using the new keyword.
Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles]
I only read code that is properly formatted, adding PRE tags is the easiest way to obtain that. [The QA section does it automatically now, I hope we soon get it on regular forums as well]
modified on Friday, February 5, 2010 4:29 PM
|
|
|
|
|
Got it
|
|
|
|
|
So, this(execute, null) means something like base(execute, null)
|
|
|
|
|
No, they are different.
use base to refer to the base class, the class from which the current class derives.
this refers to some other constructor of the current class; the normal use is:
- one implements the "full" constructor, the one taking most parameters;
- then one refers all other constructors to the first one, by providing default parameters for the missing ones. See your own example.
Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles]
I only read code that is properly formatted, adding PRE tags is the easiest way to obtain that. [The QA section does it automatically now, I hope we soon get it on regular forums as well]
modified on Friday, February 5, 2010 4:28 PM
|
|
|
|
|
very good,
Thanks dude
|
|
|
|
|
this(execute, null) passes the call through to the second constructor - setting the predicate to null. As you can't call a constructor by name, you need to do this to actually call the second constructor. As you know, in a method, you can do the following:
public void DoThis(int index)
{
DoThis(index, null);
}
public void DoThis(int index, string message)
{
} While it would be nice to do this with a constructor, you can't:
public MyClass()
{
MyClass(null);
}
public MyClass(string message)
{
} In order to get the same effect, you modify the constructor definition instead.
public MyClass() : this(null)
{
}
public MyClass(string message)
{
} Now, this differs from calling base which invokes a method on the parent class, rather than this class. What you can't do, is combine this and base in a constructor - it's one or the other.
"WPF has many lovers. It's a veritable porn star!" - Josh Smith As Braveheart once said, "You can take our freedom but you'll never take our Hobnobs!" - Martin Hughes.
My blog | My articles | MoXAML PowerToys | Onyx
|
|
|
|