我不明白没有访问修饰符的方法的概念。他们是干什么的?不放置访问修饰符有什么用?
答案 0 :(得分:2)
一个方法没有编写访问修饰符,意味着它具有一个默认修饰符:private
答案 1 :(得分:0)
在.NET中,方法具有默认的访问修饰符,因此您不必总是显式地指定它们,但是不显式地指定它们被认为是非常不好的做法。有关不同方法的默认访问修饰符,请参见here。
答案 2 :(得分:0)
所有类型和类型成员都有一个可访问性级别,该级别控制它们的使用方式,以下教程可以帮助您更好地理解C#修饰符。
答案 3 :(得分:0)
如果没有使用方法编写的访问修饰符,则表示默认情况下为私有 这是一个公共的Mehtod
public void Yourmethod()
{
}
默认情况下,这是一个私有方法
void Yourmethod()
{
}
答案 4 :(得分:0)
没有访问修饰符的类成员是私有的。也就是说,它仅在类本身中可见。
示例:
var mymap = new L.map('mymap', {
maxZoom: 10,
maxZoom: 10,
minZoom: 5,
maxBounds: [
//south west bounds
[59, 0],
//north east bounds
[74, 37]
],
maxBoundsViscosity: 1,
}).setView([68.8, 20.7], 6);
//Fetching map from internet, change this to switch whole background map
L.tileLayer('https://{s}.tile.openstreetmap.se/hydda/full/{z}/{x}/{y}.png', {
attribution: '© <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>'
}).addTo(mymap);
//Adding SVG on top
var svg = d3.select(mymap.getPanes().overlayPane).append("svg"),
g = svg.append("g").attr("class", "leaflet-zoom-hide")
d3.json("subunits.json", function(error, collection) {
if (error) throw error;
var transform = d3.geo.transform({point: projectPoint}),
path = d3.geo.path().projection(transform);
var feature = g.selectAll("path")
.data(collection.features)
.enter().append("path")
.attr('style', 'z-index:9999');
var circles = g.selectAll("circle")
.data(collection.features)
.enter().append("circle")
//.attr("transform", function(d) { return "translate(" + path.centroid(d) + ")"; })
.attr("r", 15) //function(d) {return Math.floor(Math.random()*30);})
.attr('style', 'z-index:9999');
//-----------------Radial bar chart init and functions-------------------------------------------------
var data = [];
var keys = ['Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
function initData() {
data = [{data: {}}];
for(var i=0; i<keys.length; i++)
data[0].data[keys[i]] = Math.random() * 10;
};
var chart = radialBarChart()
.barHeight(25)
.reverseLayerOrder(true)
//.capitalizeLabels(true)
.barColors(['#e6194b', '#f58231', '#ffe119', '#bcf60c', '#3cb44b', '#46f0f0', '#4363d8', '#911eb4', 'f032e6'])
.domain([0,10])
.tickValues([])
.tickCircleValues([]);
initData();
var charts = g.selectAll("chart")
.data(collection.features)
.enter().append("chart")
.datum(data)
.attr('style', 'z-index:9999')
.call(chart);
//-----------------------------------------------------------------------------------------------------
mymap.on("moveend", reset);
reset();
// Reposition the SVG to cover the features.
function reset() {
var bounds = path.bounds(collection),
topLeft = bounds[0],
bottomRight = bounds[1];
circles .attr("transform", function(d) {
return "translate(" +
path.centroid(d) + ")";
});
charts .attr("transform", function(d) {
return "translate(" +
path.centroid(d) + ")";
});
svg .attr("width", bottomRight[0] - topLeft[0])
.attr("height", bottomRight[1] - topLeft[1])
.style("left", topLeft[0] + "px")
.style("top", topLeft[1] + "px");
g .attr("transform", "translate(" + -topLeft[0] + "," + -topLeft[1] + ")");
feature.attr("d", path);
circles.attr("d", path);
charts.attr("d", path);
}
// Use Leaflet to implement a D3 geometric transformation.
function projectPoint(x, y) {
var point = mymap.latLngToLayerPoint(new L.LatLng(y, x));
this.stream.point(point.x, point.y);
}
});
function applyLatLngToLayer(d) {
var y = d.geometry.coordinates[1];
var x = d.geometry.coordinates[0];
return mymap.latLngToLayerPoint(new L.LatLng(y, x));
}
在此示例中,public class Test
{
public void Hello()
{
Print("Hello");
Print(" ");
Print("World");
}
void Print(string s)
{
Console.Write(s);
}
}
方法不是公开的,但可以从Print
的方法中调用。
public
我更愿意将成员明确声明为私有成员,并编写var test = new Test();
test.Hello(); // Works.
test.Print("bye"); // Not possible - compiler error!
修饰符,但这取决于您:
private