C#では、C ++のように、メソッド内でクラスまたは構造体を宣言することは可能ですか?
例:C ++:
void Method()
{
class NewClass
{
} newClassObject;
}
私は試しましたが、それは私にそうすることを許していません。
次のように匿名型を作成できます。
var x = new { x = 10, y = 20 };
しかし、それ以外:いいえ。
はい、class
内部を宣言することは可能でclass
あり、これらは呼び出されますinner classes
public class Foo
{
public class Bar
{
}
}
これにより、インスタンスを作成できます
Foo foo = new Foo();
Foo.Bar bar = new Foo.Bar();
anonymous
また、メソッド内でタイプのオブジェクトを作成できます
void Fn()
{
var anonymous= new { Name="name" , ID=2 };
Console.WriteLine(anonymous.Name+" "+anonymous.ID);
}
質問の状態としてクラス内で宣言することはできますが、質問のタイトルの状態としてメソッド内で宣言することはできません。何かのようなもの:
public class MyClass
{
public class MyClassAgain
{
}
public struct MyStruct
{
}
}