如何访问内部类的成员? 例如。
class A
{
class B
{
public int X;
}
}
class C
{
// any possible way to summon int x here ?
}
我想要做的是召唤C类中的整数X.我该怎么做? 这是唯一的方法吗?
class A
{
}
class B
{
public int X;
}
class C
{
//summonning int x here
}
答案 0 :(得分:1)
使内部类公开 还有一些阅读https://msdn.microsoft.com/en-us/library/ms173120.aspx
public class A
{
public Class B
{
public int X;
}
}
答案 1 :(得分:0)
首先,让你的班级A和B公开。 然后,
public class Program
{
public static void Main()
{
Console.WriteLine(new C().X);
}
}
public class A
{
public class B
{
public int X;
public B(){
X = 5;
}
}
}
public class C{
public int X {get;set;}
public C(){
var objB = new A.B();
X = objB.X;
}
}
谢谢你@Default!我应该经常使用小提琴而不是盲目写作。
答案 2 :(得分:0)
只能使用该类的实例访问非静态字段。请查看以下示例。它直接从X
的实例获取非静态A.B
字段,从内部Y
类获取静态字段B
。
public class A
{
public class B
{
public int X;
public static int Y;
}
}
public class C
{
void Function1(A.B instanceOfB){
int x=instanceOfB.X; // get value of non-static field X
int y=A.B.Y; // get value of static field Y
}
}
答案 3 :(得分:0)
<!DOCTYPE html>
<meta charset="utf-8">
<title>Dropzone simple example</title>
<!--
DO NOT SIMPLY COPY THOSE LINES. Download the JS and CSS files from the
latest release (https://github.com/enyo/dropzone/releases/latest), and
host them yourself!
-->
<script src="https://rawgit.com/enyo/dropzone/master/dist/dropzone.js"></script>
<link rel="stylesheet" href="https://rawgit.com/enyo/dropzone/master/dist/dropzone.css">
<p>
This is the most minimal example of Dropzone. The upload in this example
doesn't work, because there is no actual server to handle the file upload.
</p>
<!-- Change /upload-target to your upload address -->
<form action="/upload-target" class="dropzone"></form>
在这里你可以使用依赖注入来完成它。不要使用A,B,C这很烦人。您可以检查什么是SOLID以及为什么使用依赖注入是好的。