저는 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# 클래스, 하위 클럭, IClonable, IDisposable
내가 LinkedList의을 일류를 가지고 ITST 유형 그래서, 노드 : LinkedList의 LinkedList의 = 나는 어떤에 의해 LinkedList의에서 puti 그것의 일부 노드를 만드는 것보다 새로운 LinkedList의 메소드는 linkedlist의 요소를 인쇄하는 method print도 있습니다.
내 "개체"클래스는 노드이며 여기에는 생성자, 속성 및 getter 및 setter가 있습니다. 내가 allso가 여기 virtula 방법 인쇄가 있고 나는이 노드 클래스는 단지 추상 클래스는 becuse,이 방법에 넣어 shoudl 모르는 여기 내가는 IDisposable 방법을 구현해야합니다 여기
public void Dispose() {}
protected virtual void Dispose(bool disposing) {}
내가 undrsetend하지 않습니다를 IDispose를 사용해야하는 이유는 무엇입니까? 모든 예제에서 나는 그것이 어떤 파일에 접근하고 그림으로 작업하는데 사용되었다는 것을 알았다. 몇 가지 예에서 나는 보았다
public interface IDisposable
{
void Dispose();
}
나는 몇 가지 새로운 클래스에 넣고해야하는 경우 나는이 같은 클래스에 넣어 또는 그것을 구현하지 shuld, 모르겠어요.
그리고 하위 클래스 NodeLong과 Nodestring은 수퍼 클래스 노드를 사용하므로 몇 가지 새로운 속성과 setter 및 getter를 추가했습니다. 나는 또한 인쇄 방법을 사용했다. 나는 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를 한 경우 : 노드 : 나는 NodeLang을하지 못할 IClonable보다.
내 지침에 따라 두 하위 클래스 모두에서 IClonable 메서드를 사용해야한다고 나와 있는데 어떻게 사용해야합니까? 또한 Node 클래스에서 IDisposable을 사용합니다. 어떻게? 나는 이해할 수 있기를 바란다.
그래서 피날레 질문은 내 수업, 하위 클래스, IDisposable 및 ICloneable처럼 보일 것입니다. 그것은 복제 방법을 가지고 IDisposable
를 구현하는 클래스에 대한 의미를 수있을 때
강사가 실제 세계에서하지 않을 작업을 수행하도록 요청하고 있습니다. 해당 클래스가 관리되지 않는 리소스 (예 : 네트워크 연결 또는 데이터베이스 연결)를 보유하고있는 경우에만 클래스에 IDisposable을 구현해야합니다. –
수업의 구조는 어떻게해야합니까? – wanttobeprofessional
genercis를 사용하면 어떻게 생겼을까요?하지만 나는 일반적인 것이 무엇인지 이해합니다. – wanttobeprofessional