我在C#中的一些練習,我不明白的大局。如果這些應該在Java中實現,我沒有問題。但我在C#中是新手,所以混淆了一些東西,我不知道te結構應該是什麼樣子。我看了一些explanasions,如: http://www.codeproject.com/Articles/15360/Implementing-IDisposable-and-the-Dispose-Pattern-P和 http://msdn.microsoft.com/en-us/library/fs2xkftw.aspxC#類,subclases,IClonable,IDisposable
我有一流的,我做的LinkedList和ITST類型爲節點,所以: LinkedList的鏈表=新的LinkedList 比我一些使菩提它的一些節點鏈表方法也在這裏是方法print,它從鏈表打印元素。我的「對象」類是Node,其中我有構造函數,屬性以及getter和setter。我有allso這裏virtula方法打印,我不知道是什麼shoudl我把這種方法,becuse這個節點類就是抽象類,在這裏,我必須實現IDisposable方法:
public void Dispose() {}
protected virtual void Dispose(bool disposing) {}
這裏,我並不undrsetend爲什麼我應該使用IDispose?在我看到的所有示例中,它都用於訪問某個文件並處理圖片。在一些例子中,我看到:
public interface IDisposable
{
void Dispose();
}
,我不知道如果我必須把這個在一些新的類,我shuld把它在同級別,甚至沒有實現它。
而且我做了NodeLong和Nodestring的子類,它使用超類節點,我把一些新的屬性和setters和getters。我也使用了打印方法。 我也不明白genercis。
Linearcollection類:
public class LinearCollection{
void Main(string[] args){
LinkedList<Node> linkedlist = new LinkedList<Node>
//calling methods for adding some elements, deleting, getting some elements
}
//implemented methods
public void Print(){
foreach(NodeElement item in linkedList){
// what to do??
}
}
我Nodeelemts類:
public abstract class Node:{
private bool _disposed;
//constructors
//properties, set, get ex:
private Object data;
public Object _data{
get{
rethurn this._data;
}
set{
this._data=value;
}
}
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
protected virtual void Dispose(bool disposing){
if(!_disposed){
if(disposing){
//disposed managed resources
}
//
}
_disposed = true;
//
}
virtual public void Print(){
//what to implemetn?
}
}
//stil the same file
public class NodeString : Node{
//prop
public string typeOfElement{ get set ...}
//new constructor where is involved new property
public overrride void Print()
{
Console.WriteLine(_data.ToString());
base.Print();
}
}
public class NodeLong : Node{
//prop
public long typeOfElement{ get set ...}
//new constructor where is involved new property
public overrride void Print()
{
Console.WriteLine(_data.ToString());
base.Print();
}
}
如果我讓NodeLang:IClonable比我不能讓NodeLang:節點。
我的指示說我必須在兩個子類中使用IClonable方法,我不知道該如何使用它?如何在類Node中使用IDisposable?我希望我能理解嗎?
所以最後的問題是它應該看起來像我的類,子類,IDisposable和ICloneable?
你的導師要求你做一些你在現實世界中不會做的事情。如果該類擁有非託管資源(如網絡連接或數據庫連接),則只應在類上實現IDisposable。 –
這個班的結構怎麼樣呢? – wanttobeprofessional
如果我使用genercis,這看起來會如何,但我不是很贊,我明白通用是什麼... – wanttobeprofessional