2015-07-24 4 views
-2

Я хочу, чтобы следующий массив был общедоступным с переменной int до двух функций. Я не знаю, как написать это как структуру. Я знаю, что эта структура может быть GET и SET, но я зациклен на том, как писать для этого массива. Это долгое время проглатывало меня о C OOP.Как сделать массив объектов общедоступным с переменной

int pixelCount = 0 

public CustomVertex.TransformedColored[] points_data 
          = new CustomVertex.TransformedColored[pixelCount]; 
+3

Не совсем ясно, что ваш вопрос – Jamiec

+1

@Jamiec да я пробовал, но я мог бы исправить только косметические проблемы в надежде кого-то может понять это лучше. – ryanyuyu

ответ

1

Мои mindreading навыки на половину наклона сегодня, если Ive получил это совершенно неправильно, я приношу свои извинения.

Я думаю что вы после этого является Indexer, который позволяет добавить массив типа получить/установить доступ к своим собственным классам.

public class MyClass 
{ 
    private CustomVertex.TransformedColored[] points_data; 

    public CustomVertex.TransformedColored this[int pixelCount] 
    { 
     get{ return points_data[pixelCount]; } 
     set{ points_data[pixelCount] = value; } 
    } 
} 

Использование:

var obj = new MyClass(); 
obj[0] = some_value; //set 
var result = obj[0]; // get 
+0

Хм, это может быть очень хорошо, о чем просит ОП ... –

+0

Когда я устанавливаю, компилятор выдает ошибку. var objPoints = new PointsDataClass(); objPoints [0] = CustomVertex.TransformedColored [countPixels]; Ошибка «Microsoft.DirectX.Direct3D.CustomVertex.TransformedColored» - это «тип», который недопустим в данном контексте. – user1850420

+0

. Вы должны сделать это на * экземпляре * MyClass' не на самом классе , – Jamiec

Смежные вопросы