相关疑难解决方法(0)

我什么时候应该创建一个析构函数?

例如:

public class Person
{
    public Person()
    {
    }

    ~Person()
    {
    }
}
Run Code Online (Sandbox Code Playgroud)

我什么时候应该手动创建析构函数?什么时候需要创建析构函数?

c# destructor

177
推荐指数
4
解决办法
12万
查看次数

抽象类的析构函数

在C++中我知道当一个打算从基类继承时,通常应该使用虚拟析构函数.但是,使用C#我不知道该怎么做.请考虑以下代码:

public abstract class Character
{
    private string characterName;
    public int health;

    Character()
    {

    }

    ~Character(){

    }

    public virtual void SetCharacterName( string tempName )
    {
        characterName = tempName;
    }

    public virtual string GetCharacterName( )
    {
        return characterName;
    }
}
Run Code Online (Sandbox Code Playgroud)

(注意:我听说Unity的Unity3Ds实现与标准略有不同.也许忽略一些小的格式错误,代码似乎功能......)

我的第一直觉是将~Character()析构函数设为虚拟,将其定义为:

virtual ~Character(){

}
Run Code Online (Sandbox Code Playgroud)

但这样做会导致IDE返回错误.

在C#中,对于希望继承的抽象类,使用虚拟析构函数是必要的还是被认为是标准的?还是有其他方法用C#制作虚拟析构函数?

c# syntax inheritance virtual-destructor

4
推荐指数
2
解决办法
2628
查看次数

标签 统计

c# ×2

destructor ×1

inheritance ×1

syntax ×1

virtual-destructor ×1