Total C#newb - 如何从公共接口获取数据?

时间:2010-07-16 07:29:56

标签: c#

只需恢复总C#NEWB

好的,所以:

项目中有一个公共接口,其值如下:

Name3D MyName3D { get; set; }

现在我在另一个位置使用公共密封类,我使用System.Interfacename添加了命名空间/。现在我想设置如下:

private readonly Interfacename m_MyName3D ;
private const string 3DName = ##;

我如何设置它以便##是MyName3D的值。我以前没有做过这样的事情。只是想尝试一下?

如果我能详细了解它的工作原理,我将非常感激。

更新一个

你是说这个吗?

using Interfacename;

public sealed class InfoController : AsyncController
{
    private readonly Interfacename m_MyName3D ;
    private const string 3DName = ##;

1 个答案:

答案 0 :(得分:3)

您无法在运行时为const成员分配任何内容。但是,您可以将3DName设置为只读属性,并将get访问器中继到接口:

private string 3DName { get { return m_MyName3D.MyName3D; } }

但也许我没有得到你想要做的事情,如果是这样,请更清楚地描述它。

编辑:你正在使用两种类型的3DName,Name3D和字符串。如果Name3D没有转换运算符,则需要在整个属性中使用它。

private Name3D 3DName { get { return m_MyName3D.MyName3D; } }

如果你真的需要返回一个字符串,你需要为Name3D编写一个字符串转换运算符:

struct/class Name3D
{
  public static implicit operator string(Name3D name)
  {
      return name.whatever; // this needs to be the data holding member(s) of Name3D
  }
}