2016-09-27 3 views
-2

私はロードのメソッドを作成しようとしていますが、メソッドでInternalを使用すると、内部レベルは保護レベルのためアクセスできません。ここに例があります:'Internal'は保護レベルのためにアクセスできない

public class Internals 
{ 

    // ---- PROPERTIES --------------------------------------------- 

    /// <summary> 
    /// Gets or sets internal data not required to edit a <see cref="Mdl0VertexData"/> instance. 
    /// </summary> 
    public Internals Internal { get; set; } 

    /// <summary> 
    /// Gets or sets the size of one full element in the raw data array, in bytes. 
    /// </summary> 
    public uint Length { get; set; } 

    /// <summary> 
    /// Gets or sets the raw data as a byte array. 
    /// </summary> 
    public uint Mdl0Offset { get; set; } 

    /// <summary> 
    /// Gets or sets the raw data as a byte array. 
    /// </summary> 
    public uint DataOffset { get; set; } 

    /// <summary> 
    /// Gets or sets the raw data as a byte array. 
    /// </summary> 
    public uint NameOffset { get; set; } 

    /// <summary> 
    /// Gets or sets the raw data as a byte array. 
    /// </summary> 
    public uint Index { get; set; } 

    /// <summary> 
    /// Gets or sets the raw data as a byte array. 
    /// </summary> 
    public uint ComponentCount { get; set; } 

    /// <summary> 
    /// Gets or sets the raw data as a byte array. 
    /// </summary> 
    public uint Format { get; set; } 

    /// <summary> 
    /// Gets or sets the raw data as a byte array. 
    /// </summary> 
    public Byte Divisor { get; set; } 

    /// <summary> 
    /// Gets or sets the raw data as a byte array. 
    /// </summary> 
    public Byte Stride { get; set; } 

    /// <summary> 
    /// Gets or sets the raw data as a byte array. 
    /// </summary> 
    public UInt16 VertexCount { get; set; } 

    /// <summary> 
    /// Gets or sets the raw data as a byte array. 
    /// </summary> 
    public UInt32 minimum1 { get; set; } 

    public UInt32 minimum2 { get; set; } 
    public UInt32 minimum3 { get; set; } 
    public UInt32 maximum1 { get; set; } 
    public UInt32 maximum2 { get; set; } 
    public UInt32 maximum3 { get; set; } 
    public UInt32 LayerCount { get; set; } 
    public UInt32 LayerSize { get; set; } 
    public UInt32 Padding1 { get; set; } 
    public UInt32 Padding2 { get; set; } 
    public UInt32 Padding3 { get; set; } 
    public UInt32 Padding4 { get; set; } 
    public UInt32 Padding5 { get; set; } 
    public UInt32 Padding6 { get; set; } 
     /// <summary> 
     /// Gets or sets the offset to the first byte of the vertex buffer data. 
     /// </summary> 
     public Brres.BrresOffset Offset { 
      get; 
      set; 
     } 
    } 
    private void Load(BrresLoaderContext context) 
    { 
     Internal = new Internals(); 

     Internal.Length = context.Reader.ReadUInt32(); 
     Internal.Mdl0Offset = context.Reader.ReadUInt32(); 
     Internal.DataOffset = context.Reader.ReadUInt32(); 
     Internal.Index = context.Reader.ReadUInt16(); 
     Internal.ComponentCount = context.Reader.ReadUInt16(); 
     Internal.Format = context.Reader.ReadUInt32(); 
     Internal.Divisor = context.Reader.ReadByte(); 
     Internal.Stride = context.Reader.ReadByte(); 
     Internal.VertexCount = context.Reader.ReadUInt16(); 
     Internal.minimum1 = context.Reader.ReadUInt32(); 
     Internal.minimum2 = context.Reader.ReadUInt32(); 
     Internal.minimum3 = context.Reader.ReadUInt32(); 
     Internal.maximum1 = context.Reader.ReadUInt32(); 
     Internal.maximum2 = context.Reader.ReadUInt32(); 
     Internal.maximum3 = context.Reader.ReadUInt32(); 
     Internal.LayerCount = context.Reader.ReadUInt32(); 
     Internal.LayerSize = context.Reader.ReadUInt32(); 
     Internal.Padding1 = context.Reader.ReadUInt32(); 
     Internal.Padding2 = context.Reader.ReadUInt32(); 
     Internal.Padding3 = context.Reader.ReadUInt32(); 
     Internal.Padding4 = context.Reader.ReadUInt32(); 
     Internal.Padding5 = context.Reader.ReadUInt32(); 
     Internal.Padding6 = context.Reader.ReadUInt32(); 
    } 

明らかに、クラスはpublicですので、どうすればいいですか?

+0

'BrresLoaderContext' public? – kurakura88

+0

BrresLoaderContextは内部クラスです。それが公開されていますか?私はちょっと新しいC# – iSYan

+0

彼らは異なっています。ここを見てください:http://stackoverflow.com/questions/4182015/internal-vs-public-in-c-sharp – kurakura88

答えて

0

内部を正しく宣言していません。コンパイラが正しいタイプであるかを決定することができるように

Internals Internal = new Internals(); 

またはvarと:あなたは、適切なタイプでそれを宣言する必要があります。

var Internal = new Internals(); 
関連する問題